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
Chris Lattner
bd872cdaaf
Add a comment to the method decl
...
llvm-svn: 7609
2003-08-05 18:38:16 +00:00
Chris Lattner
8da1b00db6
Remove unused method
...
llvm-svn: 7608
2003-08-05 17:09:08 +00:00
Sumant Kowshik
9d60ea4810
Added declaration of mergeInGlobalsGraph
...
llvm-svn: 7607
2003-08-05 17:06:18 +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
Sumant Kowshik
d0be623358
Added the declaration of InlineIndirectCalls
...
llvm-svn: 7601
2003-08-05 16:56:59 +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
Chris Lattner
e465467534
new testcases that simplifycfg breaks
...
llvm-svn: 7598
2003-08-05 16:11:36 +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
cd4179f054
If we're debugging the SimplifyCFG pass, we _REALLY_ don't want to use it for
...
narrowing, no matter what.
llvm-svn: 7596
2003-08-05 15:51:05 +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
65bebf03f0
Only test the vector of functions if it is non-empty.
...
llvm-svn: 7594
2003-08-05 15:26:21 +00:00
Misha Brukman
7452a521b3
Stop special-casing annul and predict bits (which are Sparc-specific anyway)
...
since those bits are now hard-coded in Sparc*.td files.
llvm-svn: 7593
2003-08-05 14:35:35 +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
8f8fbd7106
No functional changes, comment the fix I just put in
...
llvm-svn: 7590
2003-08-05 03:59:01 +00:00
Chris Lattner
d8cbdc4c67
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.
llvm-svn: 7589
2003-08-05 03:53:04 +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
11c55b01b0
New testcase, identified by Vikram, reduced by Brian
...
llvm-svn: 7582
2003-08-04 23:28:44 +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
11ad73f47e
Parse DAG patterns
...
llvm-svn: 7577
2003-08-04 20:44:43 +00:00
Chris Lattner
3aa9da1f7f
add support for DagInit initializers, which represent DAG patterns
...
llvm-svn: 7576
2003-08-04 20:44:17 +00:00
Chris Lattner
b0c4251c0b
New testcase
...
llvm-svn: 7575
2003-08-04 20:43:48 +00:00
Chris Lattner
2703e94187
Update file header comment
...
llvm-svn: 7574
2003-08-04 20:08:28 +00:00
Chris Lattner
cae5e0ed1a
Urg, do not print "foo has changed" messages
...
llvm-svn: 7573
2003-08-04 20:07:01 +00:00
Chris Lattner
006e8b7d49
While I'm looking at it, line up the SED lines
...
llvm-svn: 7572
2003-08-04 19:48:10 +00:00
Chris Lattner
08f4aa071b
* 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!
llvm-svn: 7571
2003-08-04 19:47:06 +00:00
Misha Brukman
a326e31a1c
Do not attempt to reduce a test case if it is an empty set.
...
llvm-svn: 7570
2003-08-04 19:03:42 +00:00
John Criswell
4f1ed9c65b
Added code that ensures that we don't try to reduce an empty vector of basic
...
blocks.
This fixes the bugpoint regressions.
llvm-svn: 7569
2003-08-04 18:24:31 +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
201fc86380
Transition complete, remove the obsolete 'set' keyword
...
llvm-svn: 7566
2003-08-04 05:04:52 +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