Chris Lattner
2dd58aefa5
Add a check to avoid allowing V->replaceAllUsesWith(V)
...
llvm-svn: 104
2001-06-29 05:25:51 +00:00
Chris Lattner
615d3cf40d
Add implementation of BasicBlock::removePredecessor code that was factored
...
out of DCE.cpp
llvm-svn: 103
2001-06-29 05:25:23 +00:00
Chris Lattner
84f07396d3
* Factored RemovePredecessorFromBlock into BasicBlock::removePredecessor
...
* Avoid messing around with this case:
br label %A
%A: br label %A
* Enable optimizations that are correct now.
llvm-svn: 102
2001-06-29 05:24:28 +00:00
Chris Lattner
e4abb60948
We need to make sure to remove PHI nodes in the successor that cannot be
...
executed when removing branch dest.
llvm-svn: 101
2001-06-29 05:23:10 +00:00
Chris Lattner
d77f3c0cbd
Added a note about a new verification the verifier should do
...
Removed a redundant check
llvm-svn: 100
2001-06-29 05:22:12 +00:00
Chris Lattner
4cee8d8ffb
Miscellaneous cleanups:
...
* Convert post to pre-increment for for loops
* Use generic programming more
* Use new Value::cast* instructions
* Use new Module, Method, & BasicBlock forwarding methods
* Use new facilities in STLExtras.h
* Use new Instruction::isPHINode() method
llvm-svn: 96
2001-06-27 23:41:11 +00:00
Chris Lattner
347389dae8
Add a new Sparse Conditional Constant Propogation pass
...
llvm-svn: 95
2001-06-27 23:38:11 +00:00
Chris Lattner
0ee411c080
Change to use the new GenericBinaryInst class. Support lots more operators.
...
llvm-svn: 92
2001-06-27 23:36:49 +00:00
Chris Lattner
1a67fb8860
Misc cleanup
...
llvm-svn: 91
2001-06-27 23:36:09 +00:00
Chris Lattner
f222bf33c3
* Expose DoConstantPoolMerging
...
* Cleanups (post->pre increment, new cleaner API, etc)
* Moved stuff into ConstantHandling.h
llvm-svn: 90
2001-06-27 23:35:26 +00:00
Chris Lattner
4c8ba81f21
Convert ugly postincrement to efficient preincrement
...
llvm-svn: 89
2001-06-27 23:34:01 +00:00
Chris Lattner
223796ccf2
Convert postincrements to more efficient preincrements
...
llvm-svn: 81
2001-06-27 23:28:02 +00:00
Chris Lattner
01683cca32
Moved UnaryOperator::create to InstrTypes.cpp until there is an iUnaryOps.cpp
...
Moved BinaryOperator::create to iBinaryOperators.cpp
Add getUniqueName to SymbolTable
llvm-svn: 76
2001-06-25 07:33:13 +00:00
Chris Lattner
dbdaaef7d5
Implement induction variable injection!
...
llvm-svn: 75
2001-06-25 07:32:19 +00:00
Chris Lattner
31e23cdeb4
Renamed get.*Operator to create seeing that it would have to be qualified
...
with the classname anyways.
llvm-svn: 74
2001-06-25 07:31:31 +00:00
Chris Lattner
7221d33514
* Rename get.*Operator to create seeing that it would have to be qualified
...
with the classname anyways.
* Add an isPHINode() method to Instruction
* Add getUniqueName() to SymbolTable class
* Add an insert method to ValueHolder
llvm-svn: 73
2001-06-25 07:31:05 +00:00
Chris Lattner
c3a6f546de
A silly stupid test of the loop depth calculator was added. REMOVE in the
...
future.
llvm-svn: 72
2001-06-25 03:55:37 +00:00
Chris Lattner
ed59025460
IntervalPartition: recode to use IntervalIterator to do all the work
...
LoopDepth.cpp: new file that calculates the depth of a loop, using
IntervalPartitions.
llvm-svn: 71
2001-06-25 03:55:04 +00:00
Chris Lattner
601012721c
New file due to the Intervals.h splitup
...
llvm-svn: 66
2001-06-24 04:07:44 +00:00
Chris Lattner
f64a8936e5
#include a different header due to Intervals.h splitting up
...
llvm-svn: 63
2001-06-24 04:05:45 +00:00
Chris Lattner
dec727e346
IntervalPartition & IntervalIterator classes have been split out into
...
their own .h files & .cpp file
llvm-svn: 62
2001-06-24 04:05:21 +00:00
Chris Lattner
4c16155c36
Prepare for split between Interval, IntervalIterator, and IntervalIPartition
...
llvm-svn: 60
2001-06-24 03:25:01 +00:00
Chris Lattner
4c4f178723
Implement a lot more functionality. Now loop invariant and linear
...
induction variables are correctly identified.
llvm-svn: 57
2001-06-22 02:24:38 +00:00
Chris Lattner
34b62a04b6
Interval::HeaderNode is now accessed thorugh an accessor function
...
llvm-svn: 56
2001-06-22 02:23:39 +00:00
Chris Lattner
4b94e23bd0
Add a space to the PHI node output code to make it look nicer
...
llvm-svn: 53
2001-06-21 05:29:56 +00:00
Chris Lattner
b20a15d334
Moved printing code to the Assembly/Writer library.
...
Code now detects looping intervals
llvm-svn: 52
2001-06-21 05:27:22 +00:00
Chris Lattner
d79faa35af
Implement the new Interval::isLoop method
...
Implement destructor to free memory
llvm-svn: 51
2001-06-21 05:26:15 +00:00
Chris Lattner
778de94723
Get rid of a silly printout that isn't needed right now
...
llvm-svn: 45
2001-06-20 23:09:39 +00:00
Chris Lattner
f86e38e452
Add capability to print a derived interval graph
...
llvm-svn: 42
2001-06-20 22:44:38 +00:00
Chris Lattner
5035efaeda
Add capability to build a derived interval graph
...
llvm-svn: 41
2001-06-20 22:44:32 +00:00
Chris Lattner
28ae5cbcb5
Initial Checking of Interval handling code
...
llvm-svn: 39
2001-06-20 20:09:55 +00:00
Chris Lattner
d286a997d3
Add a test case for interval code
...
llvm-svn: 36
2001-06-20 19:27:11 +00:00
Chris Lattner
5ba5f88c35
Updates to work with new cfg namespace
...
llvm-svn: 29
2001-06-13 19:55:22 +00:00
Chris Lattner
874ddadf72
Updates to support
...
* Changes in PHI node structure
llvm-svn: 25
2001-06-11 15:04:40 +00:00
Chris Lattner
931ef3bf05
Updates to support
...
* Changes in PHI node structure
* Change to PHI syntax
llvm-svn: 24
2001-06-11 15:04:20 +00:00
Chris Lattner
5f46e8c9da
Moved getBinaryOperator to the BinaryOperator class and the getUnaryOperator
...
to the UnaryOperator class (from the Instruction class).
llvm-svn: 21
2001-06-08 21:30:13 +00:00
Chris Lattner
7e0d6e05ac
Updated to work with new CFG.h file.
...
llvm-svn: 15
2001-06-07 21:18:45 +00:00
Chris Lattner
e6c4ea9861
Add extra method to PHI node class
...
llvm-svn: 11
2001-06-07 16:59:37 +00:00
Chris Lattner
d821c2af37
Significant rework. DCE is still not done (see #ifdef'd out parts)
...
but at least the stuff that is checked in, now works.
llvm-svn: 10
2001-06-07 16:59:26 +00:00
Chris Lattner
a2f01878b7
Fixed to print slightly differently. Added use counts for labels
...
llvm-svn: 9
2001-06-07 16:58:55 +00:00
Chris Lattner
e358b22776
Fixes for BB iterators, additional methods added for DCE pass
...
llvm-svn: 8
2001-06-07 16:58:36 +00:00
Chris Lattner
2f7c963559
Initial revision
...
llvm-svn: 2
2001-06-06 20:29:01 +00:00