oota-llvm.git
20 years agoChanged the default location of OBJ_ROOT to follow these rules:
John Criswell [Thu, 31 Jul 2003 16:45:37 +0000 (16:45 +0000)]
Changed the default location of OBJ_ROOT to follow these rules:
1. If USER is defined and localhome/$USER is a directory, set OBJ_ROOT
   to /localhome/$USER
2. Otherwise, set OBJ_ROOT to .
This should hopefully fix the nightly tester.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7451 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoForget about KEEP_SYMBOLS, make sure to build into the temp directory, not into localhome
Chris Lattner [Thu, 31 Jul 2003 16:05:11 +0000 (16:05 +0000)]
Forget about KEEP_SYMBOLS, make sure to build into the temp directory, not into localhome

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7450 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoModified the code so that it generates (0) for setjmp() and abort() for
John Criswell [Thu, 31 Jul 2003 15:11:08 +0000 (15:11 +0000)]
Modified the code so that it generates (0) for setjmp() and abort() for
longjmp() (and does not include setjmp.h).
This is to fix some problems on Sparc while non-local jumps are still
unimplemented.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7449 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRenamed trapping instruction function to be more consistent with other functions...
Tanya Lattner [Thu, 31 Jul 2003 05:08:02 +0000 (05:08 +0000)]
Renamed trapping instruction function to be more consistent with other functions in the file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7448 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago*** empty log message ***
Tanya Lattner [Thu, 31 Jul 2003 05:06:09 +0000 (05:06 +0000)]
*** empty log message ***

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7447 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMore minor cleanups of the interface
Chris Lattner [Thu, 31 Jul 2003 04:43:49 +0000 (04:43 +0000)]
More minor cleanups of the interface

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7446 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRename createEmitter to run because eventually all tablegen backends will
Chris Lattner [Thu, 31 Jul 2003 04:38:26 +0000 (04:38 +0000)]
Rename createEmitter to run because eventually all tablegen backends will
be subclasses of a common interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7445 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd file comment
Chris Lattner [Thu, 31 Jul 2003 04:37:57 +0000 (04:37 +0000)]
Add file comment

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7444 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoTighten up interface
Chris Lattner [Thu, 31 Jul 2003 04:32:37 +0000 (04:32 +0000)]
Tighten up interface

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7443 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdded function to determine if an Instruction may trap.
Tanya Lattner [Thu, 31 Jul 2003 04:05:50 +0000 (04:05 +0000)]
Added function to determine if an Instruction may trap.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7442 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd comments
Chris Lattner [Wed, 30 Jul 2003 22:16:41 +0000 (22:16 +0000)]
Add comments
Make the register classes optionally take code fragments for allocation_order_*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7441 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for code fragments
Chris Lattner [Wed, 30 Jul 2003 22:15:58 +0000 (22:15 +0000)]
Add support for code fragments

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7440 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoInitial support for the 'code' type.
Chris Lattner [Wed, 30 Jul 2003 21:47:42 +0000 (21:47 +0000)]
Initial support for the 'code' type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7439 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoIgnore intrinsic functions -- don't mangle their names or rewrite calls to them.
Misha Brukman [Wed, 30 Jul 2003 21:45:20 +0000 (21:45 +0000)]
Ignore intrinsic functions -- don't mangle their names or rewrite calls to them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7438 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoWe no longer need to preprocess SparcV9.td before sending it through tablegen
Chris Lattner [Wed, 30 Jul 2003 21:00:37 +0000 (21:00 +0000)]
We no longer need to preprocess SparcV9.td before sending it through tablegen

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7437 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove err() to the lexer, implement file inclusion capabilities directly in tblgen
Chris Lattner [Wed, 30 Jul 2003 20:56:47 +0000 (20:56 +0000)]
Move err() to the lexer, implement file inclusion capabilities directly in tblgen

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7436 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd test of file inclusion capability for bugpoint
Chris Lattner [Wed, 30 Jul 2003 20:55:37 +0000 (20:55 +0000)]
Add test of file inclusion capability for bugpoint

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7435 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCodeGeneratorBug.cpp:
Misha Brukman [Wed, 30 Jul 2003 20:15:56 +0000 (20:15 +0000)]
CodeGeneratorBug.cpp:
* Temporarily externing InputArgv to print it out for the benefit of LLI command
  needed to reproduce the result.
* Print out the list of functions currently being tested
* ListReducer now returns a bool if there was a failure, so test for it

ListReducer.h:
* Handle the case where there is no problem by returning true if failure is
  found. Also correctly handles the case when there is only 1 pass/function.

Miscompilation.cpp:
* ListReducer now returns a bool if there was a failure, so test for it

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7434 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Moved InputArgv out of anonymous scope to be extern'd in another file.
Misha Brukman [Wed, 30 Jul 2003 20:15:44 +0000 (20:15 +0000)]
* Moved InputArgv out of anonymous scope to be extern'd in another file.
* Added DEBUG() statements to print out parameters passed to executing programs
* Actually ADD parameters to a program running via the JIT (using vector<char*>)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7433 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMinor reorganization, move ParseFile to the lexer
Chris Lattner [Wed, 30 Jul 2003 19:55:10 +0000 (19:55 +0000)]
Minor reorganization, move ParseFile to the lexer

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7432 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake tablegen take an input filename to parse if one is specified, otherwise
Chris Lattner [Wed, 30 Jul 2003 19:48:02 +0000 (19:48 +0000)]
Make tablegen take an input filename to parse if one is specified, otherwise
use stdin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7431 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoInitial tests for tblgen
Chris Lattner [Wed, 30 Jul 2003 19:40:00 +0000 (19:40 +0000)]
Initial tests for tblgen

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7430 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDirectly support C style comments in tblgen, but allow them to actually nest
Chris Lattner [Wed, 30 Jul 2003 19:39:36 +0000 (19:39 +0000)]
Directly support C style comments in tblgen, but allow them to actually nest

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7429 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix a bug that brian reported
Chris Lattner [Wed, 30 Jul 2003 19:04:37 +0000 (19:04 +0000)]
Fix a bug that brian reported

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7428 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMoved definition of InputArgv into ExecutionDriver.cpp -- it is only used there.
Misha Brukman [Wed, 30 Jul 2003 17:59:23 +0000 (17:59 +0000)]
Moved definition of InputArgv into ExecutionDriver.cpp -- it is only used there.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7427 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUse a vector<char*> instead of char*[] so that we can add arbitrary number of
Misha Brukman [Wed, 30 Jul 2003 17:44:15 +0000 (17:44 +0000)]
Use a vector<char*> instead of char*[] so that we can add arbitrary number of
parameters, such as command-line arguments that the executing program gets via
bugpoint.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7423 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd variable to capture arguments that should be passed to the user program
Chris Lattner [Wed, 30 Jul 2003 17:36:07 +0000 (17:36 +0000)]
Add variable to capture arguments that should be passed to the user program
This is unused so far.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7422 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for "named positional arguments"
Chris Lattner [Wed, 30 Jul 2003 17:34:02 +0000 (17:34 +0000)]
Add support for "named positional arguments"

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7421 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRevert change: default architecture is never set, it is guessed from input
Misha Brukman [Wed, 30 Jul 2003 15:29:55 +0000 (15:29 +0000)]
Revert change: default architecture is never set, it is guessed from input
bytecode file. This means that LLC on X86 will compile to Sparc assembly given a
64-bit input bytecode file...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7419 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoWhen emitting a constant, check for ConstantExpr before
Vikram S. Adve [Wed, 30 Jul 2003 12:54:47 +0000 (12:54 +0000)]
When emitting a constant, check for ConstantExpr before
ordinary (primitive) types since ConstantExprs may be of primitive type!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7418 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago1. Make table size prime -- improves hashing performance vastly.
Vikram S. Adve [Wed, 30 Jul 2003 12:49:25 +0000 (12:49 +0000)]
1. Make table size prime -- improves hashing performance vastly.
2. Reduce #hashes from 2 to 1 for initial inserts.
3. Fix incorrect assertion from last checkin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7417 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoConform to the new interface for describing target registers... even though
Chris Lattner [Wed, 30 Jul 2003 05:51:34 +0000 (05:51 +0000)]
Conform to the new interface for describing target registers... even though
it's currently not used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7416 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd all of the necessary classes to describe the contents of the MRegister.h implemen...
Chris Lattner [Wed, 30 Jul 2003 05:50:12 +0000 (05:50 +0000)]
Add all of the necessary classes to describe the contents of the MRegister.h implementation
for a target.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7415 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoOnly regenerate the .inc file if IT has changed, not just if the .td files
Chris Lattner [Wed, 30 Jul 2003 05:49:17 +0000 (05:49 +0000)]
Only regenerate the .inc file if IT has changed, not just if the .td files
have changed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7414 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUse target specific interface instead of forcing it to be target-generic
Chris Lattner [Wed, 30 Jul 2003 05:33:48 +0000 (05:33 +0000)]
Use target specific interface instead of forcing it to be target-generic

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7413 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCode generation passes don't need access to raw LLVM types, this method is unnecessary.
Chris Lattner [Wed, 30 Jul 2003 05:29:45 +0000 (05:29 +0000)]
Code generation passes don't need access to raw LLVM types, this method is unnecessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7412 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix coredump for when an ID is used illegally outside a record
Chris Lattner [Wed, 30 Jul 2003 05:17:35 +0000 (05:17 +0000)]
Fix coredump for when an ID is used illegally outside a record

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7411 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDon't pollute the namespace with template arguments after they have been resolved
Chris Lattner [Wed, 30 Jul 2003 04:56:05 +0000 (04:56 +0000)]
Don't pollute the namespace with template arguments after they have been resolved

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7410 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement TODO: disallow 'def's with template arguments.
Chris Lattner [Wed, 30 Jul 2003 04:31:17 +0000 (04:31 +0000)]
Implement TODO: disallow 'def's with template arguments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7409 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAllow specification of anonymous definitions
Chris Lattner [Wed, 30 Jul 2003 04:26:44 +0000 (04:26 +0000)]
Allow specification of anonymous definitions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7408 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAllow passing lists through variables
Chris Lattner [Wed, 30 Jul 2003 04:16:52 +0000 (04:16 +0000)]
Allow passing lists through variables

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7407 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement resolution of variables to the value of the variable once it gets a value
Chris Lattner [Wed, 30 Jul 2003 04:05:07 +0000 (04:05 +0000)]
Implement resolution of variables to the value of the variable once it gets a value

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7406 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNo this file is not actually Sparc.td :)
Chris Lattner [Tue, 29 Jul 2003 23:07:13 +0000 (23:07 +0000)]
No this file is not actually Sparc.td  :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7405 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDo not use 'cpp' directly
Chris Lattner [Tue, 29 Jul 2003 23:04:41 +0000 (23:04 +0000)]
Do not use 'cpp' directly

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7404 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd namespace specifier, add flags used by the X86 BE
Chris Lattner [Tue, 29 Jul 2003 23:02:49 +0000 (23:02 +0000)]
Add namespace specifier, add flags used by the X86 BE

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7403 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDon't crash if there is no Inst class in the tablegen file!
Chris Lattner [Tue, 29 Jul 2003 23:00:08 +0000 (23:00 +0000)]
Don't crash if there is no Inst class in the tablegen file!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7402 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Cleaned up and corrected comments wrt instruction formats
Misha Brukman [Tue, 29 Jul 2003 21:21:20 +0000 (21:21 +0000)]
* Cleaned up and corrected comments wrt instruction formats
* Enabled STXFSR instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7400 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake emitFarCall() public, and add a few comments to functions.
Misha Brukman [Tue, 29 Jul 2003 20:52:56 +0000 (20:52 +0000)]
Make emitFarCall() public, and add a few comments to functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7399 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUnify all constant evaluations that depend on register size
Vikram S. Adve [Tue, 29 Jul 2003 20:30:20 +0000 (20:30 +0000)]
Unify all constant evaluations that depend on register size
in TargetInstrInfo::ConvertConstantToIntType.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7398 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoBug fix: after reallocating the hash table, we have to re-insert each value
Vikram S. Adve [Tue, 29 Jul 2003 20:01:01 +0000 (20:01 +0000)]
Bug fix: after reallocating the hash table, we have to re-insert each value
instead of copying table entries!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7396 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUnify all constant evaluations that depend on register size
Vikram S. Adve [Tue, 29 Jul 2003 19:59:23 +0000 (19:59 +0000)]
Unify all constant evaluations that depend on register size
in ConvertConstantToIntType.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7395 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRename 'dump-asm' to 'dump-input' and really print it just before code-gen.
Vikram S. Adve [Tue, 29 Jul 2003 19:58:00 +0000 (19:58 +0000)]
Rename 'dump-asm' to 'dump-input' and really print it just before code-gen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7394 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoBug fix: don't unnecessarily pretty-print control-characters, some of
Vikram S. Adve [Tue, 29 Jul 2003 19:57:34 +0000 (19:57 +0000)]
Bug fix: don't unnecessarily pretty-print control-characters, some of
which were wrong (particularly, '\a' for '\007').

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7393 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd ConvertConstantToIntType() to unify all constant handling
Vikram S. Adve [Tue, 29 Jul 2003 19:54:41 +0000 (19:54 +0000)]
Add ConvertConstantToIntType() to unify all constant handling
that depends on machine register size.
Moved insertCallerSavingCode() to PhyRegAlloc and
moved isRegVolatile and modifiedByCall to TargetRegInfo: they are all
machine independent.  Remove several dead functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7392 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd code to support stack spill/temp offsets that don't fit in the
Vikram S. Adve [Tue, 29 Jul 2003 19:53:21 +0000 (19:53 +0000)]
Add code to support stack spill/temp offsets that don't fit in the
immed. field.  Moved insertCallerSavingCode() to PhyRegAlloc: it is
now machine independent.  Remove all uses of PhyRegAlloc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7391 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAll constant-evaluation code now unified into
Vikram S. Adve [Tue, 29 Jul 2003 19:50:12 +0000 (19:50 +0000)]
All constant-evaluation code now unified into
TargetInstrInfo::ConvertConstantToIntType().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7390 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago1. Bug fix: Don't use branch operand reg. as temp. reg. when
Vikram S. Adve [Tue, 29 Jul 2003 19:49:21 +0000 (19:49 +0000)]
1. Bug fix:  Don't use branch operand reg. as temp. reg. when
   spilling values used by an instruction in the delay slot of the branch
   (which will eventually be moved before the branch).
2. Bug fix:  Delete the delay slot instr, not the branch instr, when
   moving delay slot instr. out!!!!
3. Move code to insert caller-saves moved here from SparcRegInfo:
   it is now machine-independent.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7389 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDon't require a BB to look-up live variables, unless they may need to
Vikram S. Adve [Tue, 29 Jul 2003 19:42:32 +0000 (19:42 +0000)]
Don't require a BB to look-up live variables, unless they may need to
be recomputed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7388 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMoved insertCallerSavingCode() to PhyRegAlloc and
Vikram S. Adve [Tue, 29 Jul 2003 19:41:23 +0000 (19:41 +0000)]
Moved insertCallerSavingCode() to PhyRegAlloc and
moved isRegVolatile and modifiedByCall here: they are all
machine independent.  Remove all uses of PhyRegAlloc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7387 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd const version of getLiveRangeForValue().
Vikram S. Adve [Tue, 29 Jul 2003 19:38:22 +0000 (19:38 +0000)]
Add const version of getLiveRangeForValue().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7386 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCode to insert caller-saves moved here from SparcRegInfo: it is now
Vikram S. Adve [Tue, 29 Jul 2003 19:37:41 +0000 (19:37 +0000)]
Code to insert caller-saves moved here from SparcRegInfo: it is now
machine-independent.
Fix problem with using branch operand reg. as temp. reg. when
spilling values used by an instruction in the delay slot of the branch
(which will eventually be moved before the branch).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7385 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDon't require a BB to look-up live variables, unless they may need to
Vikram S. Adve [Tue, 29 Jul 2003 19:32:04 +0000 (19:32 +0000)]
Don't require a BB to look-up live variables, unless they may need to
be recomputed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7384 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoEnable JIT when the platform supports it.
John Criswell [Tue, 29 Jul 2003 19:11:58 +0000 (19:11 +0000)]
Enable JIT when the platform supports it.
Select /localhome/$USER when it exists.
Fix the checks for bidirectional and forward iterators so that they work with
version of GCC prior to 3.x.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7383 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Correctly emit a far call if the target address does not fit into 30 bits
Misha Brukman [Tue, 29 Jul 2003 19:00:58 +0000 (19:00 +0000)]
* Correctly emit a far call if the target address does not fit into 30 bits
  instead of assert()ing
* Fixed a nasty bug where '07' was used instead of register 'o7'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7382 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Stop hard-coding a value for beginning of emitted code on Sparc since we can
Misha Brukman [Tue, 29 Jul 2003 16:57:16 +0000 (16:57 +0000)]
* Stop hard-coding a value for beginning of emitted code on Sparc since we can
  now handle far calls (i.e., beyond the 30-bit limit in call instructions).
* As a side-effect, this allows us to unify and clean up the mmap() call and
  code around it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7381 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Disambiguate symbols before we start splitting module by functions
Misha Brukman [Tue, 29 Jul 2003 16:02:28 +0000 (16:02 +0000)]
* Disambiguate symbols before we start splitting module by functions
* Moved DisambiguateGlobalSymbols() out of the ReduceMisCodegenFunctions class
* Added an assert to have a cleaner exit if `main' is not found in the module

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7380 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRegression test for incorrect character emitted to char array.
Vikram S. Adve [Tue, 29 Jul 2003 14:02:40 +0000 (14:02 +0000)]
Regression test for incorrect character emitted to char array.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7379 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix copy and paste-o
Chris Lattner [Tue, 29 Jul 2003 05:15:44 +0000 (05:15 +0000)]
Fix copy and paste-o

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7378 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove "register flags" definition the type of registers to be fully fledged
Chris Lattner [Tue, 29 Jul 2003 05:14:16 +0000 (05:14 +0000)]
Move "register flags" definition the type of registers to be fully fledged
value types

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7377 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove value type enums to CodeGen/ValueTypes.h
Chris Lattner [Tue, 29 Jul 2003 05:13:34 +0000 (05:13 +0000)]
Move value type enums to CodeGen/ValueTypes.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7376 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDefine target value types in a form usable by target-independent code
Chris Lattner [Tue, 29 Jul 2003 05:13:09 +0000 (05:13 +0000)]
Define target value types in a form usable by target-independent code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7375 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMade many paragraphs fit into 80 characters per line to avoid wrapping in an
Misha Brukman [Mon, 28 Jul 2003 21:57:18 +0000 (21:57 +0000)]
Made many paragraphs fit into 80 characters per line to avoid wrapping in an
editor window. Re-worded confusing description about interdependence of modules.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7374 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for Alpha intrinsics, contributed by Rahul Joshi
Chris Lattner [Mon, 28 Jul 2003 21:20:57 +0000 (21:20 +0000)]
Add support for Alpha intrinsics, contributed by Rahul Joshi

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7373 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd alpha intrinsics, contributed by Rahul Joshi
Chris Lattner [Mon, 28 Jul 2003 21:18:21 +0000 (21:18 +0000)]
Add alpha intrinsics, contributed by Rahul Joshi

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7372 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplemented cleanups as suggested by Chris:
Misha Brukman [Mon, 28 Jul 2003 21:07:39 +0000 (21:07 +0000)]
Implemented cleanups as suggested by Chris:
* Use Module::getNamedFunction() to delete "main" instead of using a loop
* Compare function pointers instead of function names to determine equivalence
* Simplified creation of a 2-element vector containing zeroes
* Manually performed LICM on code
* Added an abort() in case a function we're considering occurs in something that
  is not an instruction
* Use DEBUG() around code sections instead of just in a statement in a loop,
  because GCC's DCE may not be good enough to completely remove it in a release
  build
* Print out a command that can be directly copied-and-pasted to re-execute
* Instead of just checking if a symbol begins with a dot and fixing it
  accordingly, use Mangler and fix all the problems (invalid chars in C symbol
  names) entirely
* The new `main' function has external linkage

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7371 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdded comment to function isExecutingJIT()
Misha Brukman [Mon, 28 Jul 2003 20:59:16 +0000 (20:59 +0000)]
Added comment to function isExecutingJIT()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7370 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdded two tasks:
John Criswell [Mon, 28 Jul 2003 19:26:39 +0000 (19:26 +0000)]
Added two tasks:
o Check for GCC version in configure script.
o Rewrite this file without Netscape Composer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7369 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd rationale for the MAP_ANONYMOUS vs. MAP_ANON flags.
Misha Brukman [Mon, 28 Jul 2003 19:26:19 +0000 (19:26 +0000)]
Add rationale for the MAP_ANONYMOUS vs. MAP_ANON flags.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7368 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdded comma after `i.e.'
Misha Brukman [Mon, 28 Jul 2003 19:21:20 +0000 (19:21 +0000)]
Added comma after `i.e.'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7367 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThe RTLD_GLOBAL flag allows symbols to be globally accessible, which makes
Misha Brukman [Mon, 28 Jul 2003 19:19:58 +0000 (19:19 +0000)]
The RTLD_GLOBAL flag allows symbols to be globally accessible, which makes
resolution of symbols in the .so possible (currently assists debugging with
bugpoint).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7366 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoLined things up in a more aesthetically pleasing way.
Misha Brukman [Mon, 28 Jul 2003 19:17:53 +0000 (19:17 +0000)]
Lined things up in a more aesthetically pleasing way.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7365 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoBugDriver.h:
Misha Brukman [Mon, 28 Jul 2003 19:16:14 +0000 (19:16 +0000)]
BugDriver.h:
* Added method to query if BugDriver is executing the JIT currently.
  This provides the ability in adding code that is conditionally executed in
  codegen debugging phase.

CodeGeneratorBug.cpp:
* Delete test functions from the Safe module
* Code conditionally added when debugging the JIT:
  use the lazy resolver function added to Emitter.cpp to get function pointer
  by name. When compiled into an .so, this is the only way to get a pointer to
  an external function
* Added a symbol disambiguator which will keep symbols uniquely named across
  modules
* Delete generated files by default
* The function `main' *must* stay in the .bc file for the JIT, but that prevents
  debugging it alone. This patch makes the old `main' become `old_main' and adds
  a new function named `main' which just calls the original with the same
  parameters, thereby keeping functionality the same.

ExecutionDriver.cpp:
* Returned to getting unique filenames
* Simplified code choosing between using and not using shared library option

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7364 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd ability for external C code to get pointers to functions given their name.
Misha Brukman [Mon, 28 Jul 2003 19:09:06 +0000 (19:09 +0000)]
Add ability for external C code to get pointers to functions given their name.
This us used by bugpoint -- when code is compiled to a shared object to be
JITted, it must use the JIT's lazy resolution method to find function addresses,
because some functions will not be available at .so load time, as they are in
the bytecode file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7363 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoClean up code dealing with RTLD_SELF differences on Sparc and X86.
Misha Brukman [Mon, 28 Jul 2003 19:07:30 +0000 (19:07 +0000)]
Clean up code dealing with RTLD_SELF differences on Sparc and X86.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7362 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix reference to architecture.
Misha Brukman [Mon, 28 Jul 2003 19:06:50 +0000 (19:06 +0000)]
Fix reference to architecture.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7361 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd in support to load shared objects (-load is provided by Support library).
Misha Brukman [Mon, 28 Jul 2003 19:06:19 +0000 (19:06 +0000)]
Add in support to load shared objects (-load is provided by Support library).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7360 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemoved extra parenthesis and fixed spelling.
Misha Brukman [Mon, 28 Jul 2003 16:53:28 +0000 (16:53 +0000)]
Removed extra parenthesis and fixed spelling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7359 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNeed to include <string> to fix compile error on Sun
Tanya Lattner [Mon, 28 Jul 2003 16:42:33 +0000 (16:42 +0000)]
Need to include <string> to fix compile error on Sun

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7358 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSpecify the value type for the register, not just the size.
Chris Lattner [Mon, 28 Jul 2003 04:25:36 +0000 (04:25 +0000)]
Specify the value type for the register, not just the size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7357 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoInstead of specifying the SIZE of the register, go so far as to specify
Chris Lattner [Mon, 28 Jul 2003 04:24:59 +0000 (04:24 +0000)]
Instead of specifying the SIZE of the register, go so far as to specify
what value type it is.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7356 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for Set statements without {}'s. Now we can just say
Chris Lattner [Mon, 28 Jul 2003 03:49:40 +0000 (03:49 +0000)]
Add support for Set statements without {}'s.  Now we can just say
set Foo = bar in
  def blah: blahclass {}

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7355 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAllow initializing variable initializers with variables
Chris Lattner [Mon, 28 Jul 2003 03:39:57 +0000 (03:39 +0000)]
Allow initializing variable initializers with variables

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7354 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSomehow "simplest" test became a hello world test. Rectify this.
Chris Lattner [Sun, 27 Jul 2003 00:28:10 +0000 (00:28 +0000)]
Somehow "simplest" test became a hello world test.  Rectify this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7353 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRename function to be more consistent with filename
Chris Lattner [Sat, 26 Jul 2003 23:49:58 +0000 (23:49 +0000)]
Rename function to be more consistent with filename

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7352 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCode generation phases are not allowed to modify the LLVM representation.
Chris Lattner [Sat, 26 Jul 2003 23:30:37 +0000 (23:30 +0000)]
Code generation phases are not allowed to modify the LLVM representation.
Because of this, we'll make the MBB->BB mapping const as it should be

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7351 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMaking this code const-correct would be a pain, so I'll hack it.
Chris Lattner [Sat, 26 Jul 2003 23:29:51 +0000 (23:29 +0000)]
Making this code const-correct would be a pain, so I'll hack it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7350 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoConst correctness fixes
Chris Lattner [Sat, 26 Jul 2003 23:24:56 +0000 (23:24 +0000)]
Const correctness fixes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7349 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoBe const correct
Chris Lattner [Sat, 26 Jul 2003 23:23:41 +0000 (23:23 +0000)]
Be const correct

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7348 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoHrm, another necesary one :(
Chris Lattner [Sat, 26 Jul 2003 23:22:19 +0000 (23:22 +0000)]
Hrm, another necesary one :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7347 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoWhoops, this one was needed
Chris Lattner [Sat, 26 Jul 2003 23:18:11 +0000 (23:18 +0000)]
Whoops, this one was needed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7346 91177308-0d34-0410-b5e6-96231b3b80d8