Chris Lattner
07a484e6f6
Completely eliminate the isVoid TSFlag, shifting over all other fields
...
llvm-svn: 7636
2003-08-06 15:32:20 +00:00
Chris Lattner
83831c66fc
add a pattern for RET, immediates no longer need to be explicitly typed
...
llvm-svn: 7635
2003-08-06 15:31:35 +00:00
Chris Lattner
2d20d75416
Start adding usefulness to the DAG node definitions, add a new Expander
...
class
llvm-svn: 7634
2003-08-06 15:31:02 +00:00
Chris Lattner
5a778ec126
Use a new local data structure instead of the MachineInstr::regsUsed set
...
llvm-svn: 7621
2003-08-05 22:11:13 +00:00
Chris Lattner
937abf2262
Add a map
...
llvm-svn: 7620
2003-08-05 22:09:31 +00:00
Chris Lattner
a38b57808a
Minor cleanups
...
llvm-svn: 7619
2003-08-05 22:03:27 +00:00
Chris Lattner
18b0b92033
Physical registers no longer live in the regsUsed set for each machine instr
...
llvm-svn: 7618
2003-08-05 21:55:58 +00:00
Chris Lattner
a826c8d485
Do not insert physical regsiters into the regsUsed set
...
llvm-svn: 7617
2003-08-05 21:55:20 +00:00
Tanya Lattner
6fbe85279f
Fixed minor bug in SafeToHoist and made some changes suggested by Chris.
...
llvm-svn: 7614
2003-08-05 20:39:02 +00:00
Tanya Lattner
48745a598c
Fixed LICM bug that hoists trapping instructions that are not guaranteed to execute.
...
llvm-svn: 7612
2003-08-05 18:45:46 +00:00
Chris Lattner
629c78afe3
Minor changes:
...
* Expand most tabs into spaces
* Move #define DEBUG_TYPE to top of file to avoid warning
llvm-svn: 7611
2003-08-05 18:44:12 +00:00
Chris Lattner
e2ee62c91c
Add more verbose comment
...
llvm-svn: 7610
2003-08-05 18:38:37 +00:00
Sumant Kowshik
1a4fce3511
Added function mergeInGlobalsGraph which merges in the entire globals graph with the graph of a function
...
llvm-svn: 7606
2003-08-05 17:04:41 +00:00
Sumant Kowshik
18c49a775f
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
...
llvm-svn: 7605
2003-08-05 17:01:54 +00:00
Chris Lattner
7e9e83e817
Specify DEBUG_TYPE's for the JIT debug messages
...
llvm-svn: 7604
2003-08-05 17:00:32 +00:00
Chris Lattner
54c2758e95
This method has now been changed to preserve flags for us!
...
llvm-svn: 7603
2003-08-05 16:59:24 +00:00
Chris Lattner
b047a0d449
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!
llvm-svn: 7602
2003-08-05 16:58:46 +00:00
Chris Lattner
6488844c2e
Factor shared code
...
llvm-svn: 7600
2003-08-05 16:34:44 +00:00
Chris Lattner
488b0e52a8
Fix bug: SimplifyCFG/2003-08-05-InvokeCrash.ll
...
Fix bug: SimplifyCFG/2003-08-05-MishandleInvoke.ll
llvm-svn: 7599
2003-08-05 16:27:44 +00:00
Misha Brukman
8cedc4ffa6
* Removed `using' declaration, now use full namespace qualifier std::string
...
* Simplified code by using an inline function instead of copy-pasted code
llvm-svn: 7597
2003-08-05 16:01:50 +00:00
Chris Lattner
b44a9376d1
Implement TODO: print out short form of Invoke if possible
...
llvm-svn: 7595
2003-08-05 15:34:45 +00:00
Misha Brukman
c666ae831c
* 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.
llvm-svn: 7592
2003-08-05 14:34:38 +00:00
Chris Lattner
297f7d2451
Fix bugs handling ESP in alloca references
...
llvm-svn: 7591
2003-08-05 04:13:58 +00:00
Chris Lattner
6fece1bf61
Revert previous change, and be really anal about what physical registers can do.
...
llvm-svn: 7588
2003-08-05 00:49:09 +00:00
Chris Lattner
17fc21b5fa
This is the real fix for the previous register allocator problem.
...
Physical registers should not float around.
llvm-svn: 7587
2003-08-05 00:48:47 +00:00
Misha Brukman
3b098f3fdd
Reformatted code to match the prevalent LLVM style; fit code into 80 columns.
...
llvm-svn: 7586
2003-08-05 00:02:06 +00:00
Misha Brukman
1ada2fd28c
ElectricFence found this bug where we were reading past the vector boundary.
...
llvm-svn: 7585
2003-08-04 23:48:40 +00:00
Chris Lattner
0e8197ad06
Don't bother calculating info unless its needed. May reduce number of stack slots created.
...
llvm-svn: 7584
2003-08-04 23:42:37 +00:00
Chris Lattner
8934560bd3
* Fix spelling of 'necessary'
...
* Add a lot more DEBUG output, which is better structured than before
* Fix bug: Jello/2003-08-04-PhysRegLiveFailure.llx
llvm-svn: 7583
2003-08-04 23:36:39 +00:00
Chris Lattner
cf51f31c3e
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.
llvm-svn: 7581
2003-08-04 21:18:19 +00:00
Chris Lattner
900d31f5ba
Change comments into something that TableGen can read!
...
llvm-svn: 7580
2003-08-04 21:08:29 +00:00
Chris Lattner
a06042d124
Allow instructions to have a DAG pattern associated with them.
...
Define a few preliminary node types.
llvm-svn: 7579
2003-08-04 21:07:37 +00:00
Chris Lattner
cd1aec5a9d
Rename register classes to be upper case to make it obvious that they are X86
...
specific in the tree patterns
llvm-svn: 7578
2003-08-04 20:58:29 +00:00
Chris Lattner
f62d020c88
There is nothing special about noops anymore
...
llvm-svn: 7568
2003-08-04 05:11:37 +00:00
Chris Lattner
25d89c23aa
There is nothing special about noops now
...
llvm-svn: 7567
2003-08-04 05:11:19 +00:00
Chris Lattner
94c11ac765
Transition to using 'let X = y' instead of 'set X = y'.
...
llvm-svn: 7565
2003-08-04 05:03:18 +00:00
Chris Lattner
0d7b042206
transition to using let instead of set
...
llvm-svn: 7564
2003-08-04 04:59:56 +00:00
Chris Lattner
7ca890525d
Transition to using let instead of set
...
llvm-svn: 7563
2003-08-04 04:58:12 +00:00
Chris Lattner
15891a50c1
Fix Bug: test/Regression/Jello/2003-08-03-CallArgLiveRanges.llx
...
llvm-svn: 7558
2003-08-04 02:12:48 +00:00
Chris Lattner
b79989c60d
Simplify some constant expressions
...
llvm-svn: 7556
2003-08-04 01:04:59 +00:00
Chris Lattner
52f4e7d96d
Remove illegal, unsupported escapes. This fixes program: Ptrdist-bc
...
llvm-svn: 7552
2003-08-03 23:42:17 +00:00
Chris Lattner
96704b97ca
* 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.
llvm-svn: 7551
2003-08-03 23:37:09 +00:00
Chris Lattner
e9a18e0f9f
Specify custom name for registers to get the ()'s in the name.
...
llvm-svn: 7547
2003-08-03 22:12:47 +00:00
Chris Lattner
cc69139686
Allow specifying custom names for registers
...
llvm-svn: 7546
2003-08-03 22:12:37 +00:00
Chris Lattner
8cca0ab42b
Start using tablegen'd instruction enum list
...
llvm-svn: 7542
2003-08-03 21:57:05 +00:00
Chris Lattner
21c04e759f
Resort tables
...
llvm-svn: 7541
2003-08-03 21:56:36 +00:00
Chris Lattner
1bc88585c3
Lump the base opcode in with the X86 TargetSpecific flags
...
llvm-svn: 7540
2003-08-03 21:56:22 +00:00
Chris Lattner
128b75130d
* 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...
llvm-svn: 7539
2003-08-03 21:55:55 +00:00
Chris Lattner
4e20fd5a9b
Start using tablegenerated instruction descriptions
...
llvm-svn: 7538
2003-08-03 21:54:59 +00:00
Chris Lattner
89b4a26e56
Add new TableGen instruction definitions
...
llvm-svn: 7537
2003-08-03 21:54:21 +00:00