oota-llvm.git
21 years agoAdded asserts to prevent negative shift amounts from being generated.
Misha Brukman [Wed, 6 Aug 2003 16:28:49 +0000 (16:28 +0000)]
Added asserts to prevent negative shift amounts from being generated.

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

21 years agoSparcV9CodeEmitter.cpp:
Misha Brukman [Wed, 6 Aug 2003 16:20:22 +0000 (16:20 +0000)]
SparcV9CodeEmitter.cpp:
* Doxygen-ified comments
* Added capability to make far calls (i.e., beyond 30 bits in CALL instr)
  which implies that we need to delete function references that were added by
  the call to addFunctionReference() because the actual call instruction is 10
  instructions away (thanks to 64-bit address construction)
* Cleaned up code that generates far jumps by using an array+loop

SparcV9CodeEmitter.h:
* Explained more of the side-effects of emitFarCall()

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

21 years agoSort the file lists
Chris Lattner [Wed, 6 Aug 2003 16:02:50 +0000 (16:02 +0000)]
Sort the file lists

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

21 years agoLoop unroller doesn't necessarily need to be profile driven
Chris Lattner [Wed, 6 Aug 2003 15:40:37 +0000 (15:40 +0000)]
Loop unroller doesn't necessarily need to be profile driven

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

21 years agoCompletely eliminate the isVoid TSFlag, shifting over all other fields
Chris Lattner [Wed, 6 Aug 2003 15:32:20 +0000 (15:32 +0000)]
Completely eliminate the isVoid TSFlag, shifting over all other fields

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

21 years agoadd a pattern for RET, immediates no longer need to be explicitly typed
Chris Lattner [Wed, 6 Aug 2003 15:31:35 +0000 (15:31 +0000)]
add a pattern for RET, immediates no longer need to be explicitly typed

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

21 years agoStart adding usefulness to the DAG node definitions, add a new Expander
Chris Lattner [Wed, 6 Aug 2003 15:31:02 +0000 (15:31 +0000)]
Start adding usefulness to the DAG node definitions, add a new Expander
class

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

21 years agoAdd error checking code to the node type parser. Start the instruction pattern
Chris Lattner [Wed, 6 Aug 2003 06:16:35 +0000 (06:16 +0000)]
Add error checking code to the node type parser.  Start the instruction pattern
reader

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

21 years agoInitial support for an instruction selector emitter
Chris Lattner [Wed, 6 Aug 2003 05:42:05 +0000 (05:42 +0000)]
Initial support for an instruction selector emitter

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

21 years agoAll good classes with virtual functions should have virtual dtors...
Chris Lattner [Wed, 6 Aug 2003 05:39:03 +0000 (05:39 +0000)]
All good classes with virtual functions should have virtual dtors...

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

21 years agoAdd an instruction selector emitter skeleton
Chris Lattner [Wed, 6 Aug 2003 04:47:56 +0000 (04:47 +0000)]
Add an instruction selector emitter skeleton

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

21 years agoconvert over to using TableGen backends
Chris Lattner [Wed, 6 Aug 2003 04:36:35 +0000 (04:36 +0000)]
convert over to using TableGen backends

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

21 years agoSwitch code over to being a TableGenBackend
Chris Lattner [Wed, 6 Aug 2003 04:32:07 +0000 (04:32 +0000)]
Switch code over to being a TableGenBackend

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

21 years agoAdd more helper methods
Chris Lattner [Wed, 6 Aug 2003 04:31:26 +0000 (04:31 +0000)]
Add more helper methods

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

21 years agoNew common interface for backends to use
Chris Lattner [Wed, 6 Aug 2003 04:23:04 +0000 (04:23 +0000)]
New common interface for backends to use

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

21 years agoAdded POOLFLAGS option to run pool allocation
Sumant Kowshik [Wed, 6 Aug 2003 01:03:28 +0000 (01:03 +0000)]
Added POOLFLAGS option to run pool allocation

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

21 years ago"fix" coding style stuff
Chris Lattner [Tue, 5 Aug 2003 22:54:23 +0000 (22:54 +0000)]
"fix" coding style stuff
Change some <>'s into &lt;&gt;'s

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

21 years agoCompletely eliminate the per-machine-instruction regsUsed set.
Chris Lattner [Tue, 5 Aug 2003 22:39:13 +0000 (22:39 +0000)]
Completely eliminate the per-machine-instruction regsUsed set.

This substantially shrinks the size of each machine instruction, which should
make allocation faster and the cache footprint of the machine code lighter.

Here are some timings for code generation of the larger benchmarks we have.
This are timings of code generation phases of the X86 JIT, when compiled in
debug mode:

Before After Diff
164.gzip:
  InstSel 0.0878 0.0722 -21.6%
  RegAlloc 0.2031 0.1757 -15.6%
  TOTAL 0.5585 0.4999 -11.7%
Ptrdist-bc:
  InstSel 0.0878 0.0722 -21.6%
  RegAlloc 0.2070 0.1933 - 7.1%
  TOTAL 0.6972 0.6464 - 7.9%
197.parser:
  InstSel 0.2148 0.2148 - 0.0%
  RegAlloc 0.4941 0.4277 -15.5%
  TOTAL 1.3749 1.2851 - 7.0%
175.vpr:
  InstSel 0.2519 0.2109 -19.4%
  RegAlloc 0.5976 0.5663 - 5.5%
  TOTAL 1.6933 1.6347 - 3.5%
254.gap:
  InstSel 1.1328 0.9921 -14.2%
  RegAlloc 2.6933 2.4804 - 8.6%
  TOTAL 7.7871 7.2499 - 7.4%

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

21 years agoUse a new local data structure instead of the MachineInstr::regsUsed set
Chris Lattner [Tue, 5 Aug 2003 22:11:13 +0000 (22:11 +0000)]
Use a new local data structure instead of the MachineInstr::regsUsed set

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

21 years agoAdd a map
Chris Lattner [Tue, 5 Aug 2003 22:09:31 +0000 (22:09 +0000)]
Add a map

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

21 years agoMinor cleanups
Chris Lattner [Tue, 5 Aug 2003 22:03:27 +0000 (22:03 +0000)]
Minor cleanups

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

21 years agoPhysical registers no longer live in the regsUsed set for each machine instr
Chris Lattner [Tue, 5 Aug 2003 21:55:58 +0000 (21:55 +0000)]
Physical registers no longer live in the regsUsed set for each machine instr

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

21 years agoDo not insert physical regsiters into the regsUsed set
Chris Lattner [Tue, 5 Aug 2003 21:55:20 +0000 (21:55 +0000)]
Do not insert physical regsiters into the regsUsed set

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

21 years agoReverted back to using OR for cmp/mv operations for lex/yacc output.
John Criswell [Tue, 5 Aug 2003 21:38:28 +0000 (21:38 +0000)]
Reverted back to using OR for cmp/mv operations for lex/yacc output.
The shell AND/OR operators short-circuit on command success/failure, which is
the inverse of exit status (i.e. 0 means success, non-zero means failure).

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

21 years agoSwitched from using diff to cmp for two reasons:
John Criswell [Tue, 5 Aug 2003 21:21:58 +0000 (21:21 +0000)]
Switched from using diff to cmp for two reasons:
o Not all versions of diff have the -q option
o The cmp program is probably faster than diff
Fixed the logic that only copies the file over if no differences are found.

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

21 years agoFixed minor bug in SafeToHoist and made some changes suggested by Chris.
Tanya Lattner [Tue, 5 Aug 2003 20:39:02 +0000 (20:39 +0000)]
Fixed minor bug in SafeToHoist and made some changes suggested by Chris.

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

21 years agoAdded LICM test cases to:
Tanya Lattner [Tue, 5 Aug 2003 18:52:42 +0000 (18:52 +0000)]
Added LICM test cases to:

1) Check that trapping instructionns that are not guaranteed to execute are not hoisted.
2) Check that trapping instructions that are guaranteed to execute are hoisted.

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

21 years agoFixed LICM bug that hoists trapping instructions that are not guaranteed to execute.
Tanya Lattner [Tue, 5 Aug 2003 18:45:46 +0000 (18:45 +0000)]
Fixed LICM bug that hoists trapping instructions that are not guaranteed to execute.

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

21 years agoMinor changes:
Chris Lattner [Tue, 5 Aug 2003 18:44:12 +0000 (18:44 +0000)]
Minor changes:
  * Expand most tabs into spaces
  * Move #define DEBUG_TYPE to top of file to avoid warning

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

21 years agoAdd more verbose comment
Chris Lattner [Tue, 5 Aug 2003 18:38:37 +0000 (18:38 +0000)]
Add more verbose comment

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

21 years agoAdd a comment to the method decl
Chris Lattner [Tue, 5 Aug 2003 18:38:16 +0000 (18:38 +0000)]
Add a comment to the method decl

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

21 years agoRemove unused method
Chris Lattner [Tue, 5 Aug 2003 17:09:08 +0000 (17:09 +0000)]
Remove unused method

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

21 years agoAdded declaration of mergeInGlobalsGraph
Sumant Kowshik [Tue, 5 Aug 2003 17:06:18 +0000 (17:06 +0000)]
Added declaration of mergeInGlobalsGraph

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

21 years agoAdded function mergeInGlobalsGraph which merges in the entire globals graph with...
Sumant Kowshik [Tue, 5 Aug 2003 17:04:41 +0000 (17:04 +0000)]
Added function mergeInGlobalsGraph which merges in the entire globals graph with the graph of a function

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

21 years agoMajor bug fixes including a memory leak and tracking some exceptional conditions...
Sumant Kowshik [Tue, 5 Aug 2003 17:01:54 +0000 (17:01 +0000)]
Major bug fixes including a memory leak and tracking some exceptional conditions. Also added support for including global and indirect call information in the DS graphs used by the pool allocation

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

21 years agoSpecify DEBUG_TYPE's for the JIT debug messages
Chris Lattner [Tue, 5 Aug 2003 17:00:32 +0000 (17:00 +0000)]
Specify DEBUG_TYPE's for the JIT debug messages

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

21 years agoThis method has now been changed to preserve flags for us!
Chris Lattner [Tue, 5 Aug 2003 16:59:24 +0000 (16:59 +0000)]
This method has now been changed to preserve flags for us!

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

21 years agoAll callers of these methods actually wanted them to preserve the flags,
Chris Lattner [Tue, 5 Aug 2003 16:58:46 +0000 (16:58 +0000)]
All callers of these methods actually wanted them to preserve the flags,
so get rid of the def/use parameters that were getting passed in.

**** This now changes the semantics of these methods to preserve the flags,
     not clobber them!

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

21 years agoAdded the declaration of InlineIndirectCalls
Sumant Kowshik [Tue, 5 Aug 2003 16:56:59 +0000 (16:56 +0000)]
Added the declaration of InlineIndirectCalls

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

21 years agoFactor shared code
Chris Lattner [Tue, 5 Aug 2003 16:34:44 +0000 (16:34 +0000)]
Factor shared code

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

21 years agoFix bug: SimplifyCFG/2003-08-05-InvokeCrash.ll
Chris Lattner [Tue, 5 Aug 2003 16:27:44 +0000 (16:27 +0000)]
Fix bug: SimplifyCFG/2003-08-05-InvokeCrash.ll
Fix bug: SimplifyCFG/2003-08-05-MishandleInvoke.ll

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

21 years agonew testcases that simplifycfg breaks
Chris Lattner [Tue, 5 Aug 2003 16:11:36 +0000 (16:11 +0000)]
new testcases that simplifycfg breaks

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

21 years ago* Removed `using' declaration, now use full namespace qualifier std::string
Misha Brukman [Tue, 5 Aug 2003 16:01:50 +0000 (16:01 +0000)]
* Removed `using' declaration, now use full namespace qualifier std::string
* Simplified code by using an inline function instead of copy-pasted code

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

21 years agoIf we're debugging the SimplifyCFG pass, we _REALLY_ don't want to use it for
Chris Lattner [Tue, 5 Aug 2003 15:51:05 +0000 (15:51 +0000)]
If we're debugging the SimplifyCFG pass, we _REALLY_ don't want to use it for
narrowing, no matter what.

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

21 years agoImplement TODO: print out short form of Invoke if possible
Chris Lattner [Tue, 5 Aug 2003 15:34:45 +0000 (15:34 +0000)]
Implement TODO: print out short form of Invoke if possible

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

21 years agoOnly test the vector of functions if it is non-empty.
Misha Brukman [Tue, 5 Aug 2003 15:26:21 +0000 (15:26 +0000)]
Only test the vector of functions if it is non-empty.

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

21 years agoStop special-casing annul and predict bits (which are Sparc-specific anyway)
Misha Brukman [Tue, 5 Aug 2003 14:35:35 +0000 (14:35 +0000)]
Stop special-casing annul and predict bits (which are Sparc-specific anyway)
since those bits are now hard-coded in Sparc*.td files.

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

21 years ago* Set annul bit to be 0, because the Sparc backend currently does not use it.
Misha Brukman [Tue, 5 Aug 2003 14:34:38 +0000 (14:34 +0000)]
* Set annul bit to be 0, because the Sparc backend currently does not use it.
* Use the name of the predict field instead of just the const 1 in the
  Instruction.

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

21 years agoFix bugs handling ESP in alloca references
Chris Lattner [Tue, 5 Aug 2003 04:13:58 +0000 (04:13 +0000)]
Fix bugs handling ESP in alloca references

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

21 years agoNo functional changes, comment the fix I just put in
Chris Lattner [Tue, 5 Aug 2003 03:59:01 +0000 (03:59 +0000)]
No functional changes, comment the fix I just put in

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

21 years agoThe CodeEmitterGenerator used to consider ANY uninitialized field as being an
Chris Lattner [Tue, 5 Aug 2003 03:53:04 +0000 (03:53 +0000)]
The CodeEmitterGenerator used to consider ANY uninitialized field as being an
operand (unless it's annul or predict).  Now we only consider fields to be
operands if they are uninitialized AND used in the "Inst" field.

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

21 years agoRevert previous change, and be really anal about what physical registers can do.
Chris Lattner [Tue, 5 Aug 2003 00:49:09 +0000 (00:49 +0000)]
Revert previous change, and be really anal about what physical registers can do.

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

21 years agoThis is the real fix for the previous register allocator problem.
Chris Lattner [Tue, 5 Aug 2003 00:48:47 +0000 (00:48 +0000)]
This is the real fix for the previous register allocator problem.
Physical registers should not float around.

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

21 years agoReformatted code to match the prevalent LLVM style; fit code into 80 columns.
Misha Brukman [Tue, 5 Aug 2003 00:02:06 +0000 (00:02 +0000)]
Reformatted code to match the prevalent LLVM style; fit code into 80 columns.

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

21 years agoElectricFence found this bug where we were reading past the vector boundary.
Misha Brukman [Mon, 4 Aug 2003 23:48:40 +0000 (23:48 +0000)]
ElectricFence found this bug where we were reading past the vector boundary.

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

21 years agoDon't bother calculating info unless its needed. May reduce number of stack slots...
Chris Lattner [Mon, 4 Aug 2003 23:42:37 +0000 (23:42 +0000)]
Don't bother calculating info unless its needed.  May reduce number of stack slots created.

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

21 years ago* Fix spelling of 'necessary'
Chris Lattner [Mon, 4 Aug 2003 23:36:39 +0000 (23:36 +0000)]
* Fix spelling of 'necessary'
* Add a lot more DEBUG output, which is better structured than before
* Fix bug: Jello/2003-08-04-PhysRegLiveFailure.llx

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

21 years agoNew testcase, identified by Vikram, reduced by Brian
Chris Lattner [Mon, 4 Aug 2003 23:28:44 +0000 (23:28 +0000)]
New testcase, identified by Vikram, reduced by Brian

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

21 years agoAdd patterns for (mov R, R) (mov R, I) and subtracts. The moves are to enable
Chris Lattner [Mon, 4 Aug 2003 21:18:19 +0000 (21:18 +0000)]
Add patterns for (mov R, R) (mov R, I) and subtracts.  The moves are to enable
testing, the subtracts are because I was in the neighborhood.

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

21 years agoChange comments into something that TableGen can read!
Chris Lattner [Mon, 4 Aug 2003 21:08:29 +0000 (21:08 +0000)]
Change comments into something that TableGen can read!

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

21 years agoAllow instructions to have a DAG pattern associated with them.
Chris Lattner [Mon, 4 Aug 2003 21:07:37 +0000 (21:07 +0000)]
Allow instructions to have a DAG pattern associated with them.
Define a few preliminary node types.

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

21 years agoRename register classes to be upper case to make it obvious that they are X86
Chris Lattner [Mon, 4 Aug 2003 20:58:29 +0000 (20:58 +0000)]
Rename register classes to be upper case to make it obvious that they are X86
specific in the tree patterns

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

21 years agoParse DAG patterns
Chris Lattner [Mon, 4 Aug 2003 20:44:43 +0000 (20:44 +0000)]
Parse DAG patterns

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

21 years agoadd support for DagInit initializers, which represent DAG patterns
Chris Lattner [Mon, 4 Aug 2003 20:44:17 +0000 (20:44 +0000)]
add support for DagInit initializers, which represent DAG patterns

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

21 years agoNew testcase
Chris Lattner [Mon, 4 Aug 2003 20:43:48 +0000 (20:43 +0000)]
New testcase

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

21 years agoUpdate file header comment
Chris Lattner [Mon, 4 Aug 2003 20:08:28 +0000 (20:08 +0000)]
Update file header comment

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

21 years agoUrg, do not print "foo has changed" messages
Chris Lattner [Mon, 4 Aug 2003 20:07:01 +0000 (20:07 +0000)]
Urg, do not print "foo has changed" messages

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

21 years agoWhile I'm looking at it, line up the SED lines
Chris Lattner [Mon, 4 Aug 2003 19:48:10 +0000 (19:48 +0000)]
While I'm looking at it, line up the SED lines

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

21 years ago* Don't print out HOW we are running Flex unless in verbose mode. We already
Chris Lattner [Mon, 4 Aug 2003 19:47:06 +0000 (19:47 +0000)]
* Don't print out HOW we are running Flex unless in verbose mode.  We already
  hide the bison command line.
* If running flex or bison gives us the files we already have, don't overwrite
  the ones we have, which cause unnecessary compilation.  I demand the ability
  to make meaningless changes without penalty!

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

21 years agoDo not attempt to reduce a test case if it is an empty set.
Misha Brukman [Mon, 4 Aug 2003 19:03:42 +0000 (19:03 +0000)]
Do not attempt to reduce a test case if it is an empty set.

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

21 years agoAdded code that ensures that we don't try to reduce an empty vector of basic
John Criswell [Mon, 4 Aug 2003 18:24:31 +0000 (18:24 +0000)]
Added code that ensures that we don't try to reduce an empty vector of basic
blocks.
This fixes the bugpoint regressions.

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

21 years agoThere is nothing special about noops anymore
Chris Lattner [Mon, 4 Aug 2003 05:11:37 +0000 (05:11 +0000)]
There is nothing special about noops anymore

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

21 years agoThere is nothing special about noops now
Chris Lattner [Mon, 4 Aug 2003 05:11:19 +0000 (05:11 +0000)]
There is nothing special about noops now

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

21 years agoTransition complete, remove the obsolete 'set' keyword
Chris Lattner [Mon, 4 Aug 2003 05:04:52 +0000 (05:04 +0000)]
Transition complete, remove the obsolete 'set' keyword

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

21 years agoTransition to using 'let X = y' instead of 'set X = y'.
Chris Lattner [Mon, 4 Aug 2003 05:03:18 +0000 (05:03 +0000)]
Transition to using 'let X = y' instead of 'set X = y'.

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

21 years agotransition to using let instead of set
Chris Lattner [Mon, 4 Aug 2003 04:59:56 +0000 (04:59 +0000)]
transition to using let instead of set

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

21 years agoTransition to using let instead of set
Chris Lattner [Mon, 4 Aug 2003 04:58:12 +0000 (04:58 +0000)]
Transition to using let instead of set

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

21 years agoStart transitioning towards using 'let X = y in' statements, instead of 'set X =...
Chris Lattner [Mon, 4 Aug 2003 04:56:53 +0000 (04:56 +0000)]
Start transitioning towards using 'let X = y in' statements, instead of 'set X = y in'.

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

21 years agoIt appears that somehow we forgot to add support for code variables.
Chris Lattner [Mon, 4 Aug 2003 04:53:50 +0000 (04:53 +0000)]
It appears that somehow we forgot to add support for code variables.
Fix bug: TableGen/2003-08-03-PassCode.td

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

21 years agoNew testcase
Chris Lattner [Mon, 4 Aug 2003 04:53:13 +0000 (04:53 +0000)]
New testcase

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

21 years agoAdd initial support for a new 'dag' type
Chris Lattner [Mon, 4 Aug 2003 04:50:57 +0000 (04:50 +0000)]
Add initial support for a new 'dag' type

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

21 years agoFix Bug: test/Regression/Jello/2003-08-03-CallArgLiveRanges.llx
Chris Lattner [Mon, 4 Aug 2003 02:12:48 +0000 (02:12 +0000)]
Fix Bug: test/Regression/Jello/2003-08-03-CallArgLiveRanges.llx

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

21 years agoNew testcase
Chris Lattner [Mon, 4 Aug 2003 02:11:05 +0000 (02:11 +0000)]
New testcase

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

21 years agoSimplify some constant expressions
Chris Lattner [Mon, 4 Aug 2003 01:04:59 +0000 (01:04 +0000)]
Simplify some constant expressions

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

21 years agoMake sure to flush the output stream so that we get incremental updates
Chris Lattner [Mon, 4 Aug 2003 00:56:43 +0000 (00:56 +0000)]
Make sure to flush the output stream so that we get incremental updates

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

21 years agoPrint accurate run instructions for when testing LLC
Chris Lattner [Mon, 4 Aug 2003 00:56:27 +0000 (00:56 +0000)]
Print accurate run instructions for when testing LLC

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

21 years agoRemove illegal, unsupported escapes. This fixes program: Ptrdist-bc
Chris Lattner [Sun, 3 Aug 2003 23:42:17 +0000 (23:42 +0000)]
Remove illegal, unsupported escapes.  This fixes program: Ptrdist-bc

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

21 years ago* Sort #includes, remove dupliates
Chris Lattner [Sun, 3 Aug 2003 23:37:09 +0000 (23:37 +0000)]
* Sort #includes, remove dupliates
* Use .zero to emit padding between struct elements
* Emit .comm symbols when we can, this dramatically reduces the amount of gunk we have to print
* Print global variable identifiers next to initializer more nicely.

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

21 years agoFix problem I introduced in bugpoint with the cleanup functions
Chris Lattner [Sun, 3 Aug 2003 22:29:43 +0000 (22:29 +0000)]
Fix problem I introduced in bugpoint with the cleanup functions

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

21 years agoAllow registers to specify a custom name
Chris Lattner [Sun, 3 Aug 2003 22:14:50 +0000 (22:14 +0000)]
Allow registers to specify a custom name

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

21 years agoSpecify custom name for registers to get the ()'s in the name.
Chris Lattner [Sun, 3 Aug 2003 22:12:47 +0000 (22:12 +0000)]
Specify custom name for registers to get the ()'s in the name.

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

21 years agoAllow specifying custom names for registers
Chris Lattner [Sun, 3 Aug 2003 22:12:37 +0000 (22:12 +0000)]
Allow specifying custom names for registers

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

21 years agoadd new --gen-instr-desc option
Chris Lattner [Sun, 3 Aug 2003 21:58:28 +0000 (21:58 +0000)]
add new --gen-instr-desc option

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

21 years agoAdd new Record::getValueAsBit method
Chris Lattner [Sun, 3 Aug 2003 21:58:13 +0000 (21:58 +0000)]
Add new Record::getValueAsBit method

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

21 years agoFinish the instruction info emitter
Chris Lattner [Sun, 3 Aug 2003 21:57:51 +0000 (21:57 +0000)]
Finish the instruction info emitter

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

21 years agoStart using tablegen'd instruction enum list
Chris Lattner [Sun, 3 Aug 2003 21:57:05 +0000 (21:57 +0000)]
Start using tablegen'd instruction enum list

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

21 years agoResort tables
Chris Lattner [Sun, 3 Aug 2003 21:56:36 +0000 (21:56 +0000)]
Resort tables

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

21 years agoLump the base opcode in with the X86 TargetSpecific flags
Chris Lattner [Sun, 3 Aug 2003 21:56:22 +0000 (21:56 +0000)]
Lump the base opcode in with the X86 TargetSpecific flags

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

21 years ago* Start using tablegen'd instruction descriptions
Chris Lattner [Sun, 3 Aug 2003 21:55:55 +0000 (21:55 +0000)]
* Start using tablegen'd instruction descriptions
* Fix bug in the createNOP method, which was not marking the operands of the
  generated XCHG as useanddef.  I don't think this method is actually used,
  so it wasn't breaking anything, but it should be fixed anyway...

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

21 years agoStart using tablegenerated instruction descriptions
Chris Lattner [Sun, 3 Aug 2003 21:54:59 +0000 (21:54 +0000)]
Start using tablegenerated instruction descriptions

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