oota-llvm.git
20 years agoAdd all arithmetic operators to ConstantExprToString().
Vikram S. Adve [Fri, 1 Aug 2003 15:55:53 +0000 (15:55 +0000)]
Add all arithmetic operators to ConstantExprToString().
Note that some generated operators (like &, | or ^) may
not be supported by the assembler -- but if they've got
this far, it's better to generate them and let the assembler decide.

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

20 years ago*Both* operands of divide need sign-extension before divide (if smaller
Vikram S. Adve [Fri, 1 Aug 2003 15:54:38 +0000 (15:54 +0000)]
*Both* operands of divide need sign-extension before divide (if smaller
than machine register size), not just the second operand.

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

20 years agoPut back the separate pass to decompose multi-dimensional references
Vikram S. Adve [Fri, 1 Aug 2003 15:53:24 +0000 (15:53 +0000)]
Put back the separate pass to decompose multi-dimensional references
since it is *necessary* for correct code generation.  Only optional
transformations belong in the PreOpts pass (which needs to be renamed
from PreSelection to PreOpts).

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

20 years agoadd support for emitting register classes
Chris Lattner [Fri, 1 Aug 2003 06:27:59 +0000 (06:27 +0000)]
add support for emitting register classes

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

20 years agoAdd new getValueAsListInit and getValueAsInt methods
Chris Lattner [Fri, 1 Aug 2003 06:15:10 +0000 (06:15 +0000)]
Add new getValueAsListInit and getValueAsInt methods

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

20 years agoAdd the ability to emit register file enums
Chris Lattner [Fri, 1 Aug 2003 05:59:20 +0000 (05:59 +0000)]
Add the ability to emit register file enums

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

20 years agoFix the way field bit references are resolved, also allow resolution of field referen...
Chris Lattner [Fri, 1 Aug 2003 05:58:58 +0000 (05:58 +0000)]
Fix the way field bit references are resolved, also allow resolution of field references overall!

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

20 years agoencode size information into each ValueType
Chris Lattner [Fri, 1 Aug 2003 05:18:03 +0000 (05:18 +0000)]
encode size information into each ValueType
Add new RegisterInfo class

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

20 years agoDead code elimination
Chris Lattner [Fri, 1 Aug 2003 04:47:20 +0000 (04:47 +0000)]
Dead code elimination

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

20 years agoAdd new getValueAsBitsInit 'high-level' method
Chris Lattner [Fri, 1 Aug 2003 04:46:24 +0000 (04:46 +0000)]
Add new getValueAsBitsInit 'high-level' method

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

20 years agoAdd file comment
Chris Lattner [Fri, 1 Aug 2003 04:39:05 +0000 (04:39 +0000)]
Add file comment
Add register info emitter
Simplify code by using "high-level" methods.

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

20 years agoInitial checkin of register info emitter
Chris Lattner [Fri, 1 Aug 2003 04:38:38 +0000 (04:38 +0000)]
Initial checkin of register info emitter

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

20 years agoSimplify code to match new interfaces
Chris Lattner [Fri, 1 Aug 2003 04:38:18 +0000 (04:38 +0000)]
Simplify code to match new interfaces

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

20 years agoSwitch over to an exception handling model for "high-level" requests.
Chris Lattner [Fri, 1 Aug 2003 04:37:57 +0000 (04:37 +0000)]
Switch over to an exception handling model for "high-level" requests.
Add new getValueAsString method.

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

20 years agoMinor cleanups
Chris Lattner [Fri, 1 Aug 2003 04:15:25 +0000 (04:15 +0000)]
Minor cleanups

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

20 years agoFactor code out into a new getAllDerivedDefinitions method, which is generally useful
Chris Lattner [Fri, 1 Aug 2003 04:09:58 +0000 (04:09 +0000)]
Factor code out into a new getAllDerivedDefinitions method, which is generally useful

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

20 years agoThis method is long dead
Chris Lattner [Fri, 1 Aug 2003 03:48:42 +0000 (03:48 +0000)]
This method is long dead

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

20 years agoRemoved the -only-static option as it is no longer required (and didn't work
John Criswell [Thu, 31 Jul 2003 20:59:32 +0000 (20:59 +0000)]
Removed the -only-static option as it is no longer required (and didn't work
with the newer version of libtool anyway).

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

20 years agoModified the use of libtool so that we don't compile every file twice.
John Criswell [Thu, 31 Jul 2003 20:58:51 +0000 (20:58 +0000)]
Modified the use of libtool so that we don't compile every file twice.
This can be done using the disable-shared tag that comes with libtool.
This change also required changing how .o libraries are linked.

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

20 years agoFix the JIT in the Nightly tester. This was not a fun bug to track down.
Chris Lattner [Thu, 31 Jul 2003 19:38:34 +0000 (19:38 +0000)]
Fix the JIT in the Nightly tester.  This was not a fun bug to track down.
See the comments in the patch for details.

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

20 years agoTrivial cleanups: no need to include header twice. Global variable is local to file
Chris Lattner [Thu, 31 Jul 2003 19:31:21 +0000 (19:31 +0000)]
Trivial cleanups: no need to include header twice.  Global variable is local to file

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

20 years agoRemove more obsolete comments
Chris Lattner [Thu, 31 Jul 2003 17:56:05 +0000 (17:56 +0000)]
Remove more obsolete comments

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

20 years agoChanged pointer to the JIT code to its current location, under LLI.
Misha Brukman [Thu, 31 Jul 2003 17:50:35 +0000 (17:50 +0000)]
Changed pointer to the JIT code to its current location, under LLI.

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

20 years agoUnbreak the CBE output
Chris Lattner [Thu, 31 Jul 2003 17:47:24 +0000 (17:47 +0000)]
Unbreak the CBE output

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

20 years agoI think local symbols in X86 GAS have to start with .L, not just
Brian Gaeke [Thu, 31 Jul 2003 17:38:52 +0000 (17:38 +0000)]
I think local symbols in X86 GAS have to start with .L, not just
.; so I have changed the basic block markers to start with .L.  I also
broke up a >80char line.

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

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