aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a check to avoid allowing V->replaceAllUsesWith(V)Chris Lattner2001-06-291-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104 91177308-0d34-0410-b5e6-96231b3b80d8
* Add implementation of BasicBlock::removePredecessor code that was factoredChris Lattner2001-06-291-0/+48
| | | | | | | out of DCE.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103 91177308-0d34-0410-b5e6-96231b3b80d8
* * Factored RemovePredecessorFromBlock into BasicBlock::removePredecessorChris Lattner2001-06-291-68/+30
| | | | | | | | | | * Avoid messing around with this case: br label %A %A: br label %A * Enable optimizations that are correct now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102 91177308-0d34-0410-b5e6-96231b3b80d8
* We need to make sure to remove PHI nodes in the successor that cannot beChris Lattner2001-06-291-0/+8
| | | | | | | executed when removing branch dest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101 91177308-0d34-0410-b5e6-96231b3b80d8
* Added a note about a new verification the verifier should doChris Lattner2001-06-291-1/+1
| | | | | | | Removed a redundant check git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100 91177308-0d34-0410-b5e6-96231b3b80d8
* Miscellaneous cleanups:Chris Lattner2001-06-2723-193/+178
| | | | | | | | | | | | * 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new Sparse Conditional Constant Propogation passChris Lattner2001-06-271-0/+502
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95 91177308-0d34-0410-b5e6-96231b3b80d8
* Change to use the new GenericBinaryInst class. Support lots more operators.Chris Lattner2001-06-271-8/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92 91177308-0d34-0410-b5e6-96231b3b80d8
* Misc cleanupChris Lattner2001-06-271-32/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91 91177308-0d34-0410-b5e6-96231b3b80d8
* * Expose DoConstantPoolMergingChris Lattner2001-06-271-40/+24
| | | | | | | | * Cleanups (post->pre increment, new cleaner API, etc) * Moved stuff into ConstantHandling.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert ugly postincrement to efficient preincrementChris Lattner2001-06-271-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89 91177308-0d34-0410-b5e6-96231b3b80d8
* Add instructions to fold unary and binary instructions.Chris Lattner2001-06-272-0/+64
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert postincrements to more efficient preincrementsChris Lattner2001-06-271-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved UnaryOperator::create to InstrTypes.cpp until there is an iUnaryOps.cppChris Lattner2001-06-254-33/+47
| | | | | | | | Moved BinaryOperator::create to iBinaryOperators.cpp Add getUniqueName to SymbolTable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement induction variable injection!Chris Lattner2001-06-251-12/+76
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75 91177308-0d34-0410-b5e6-96231b3b80d8
* Renamed get.*Operator to create seeing that it would have to be qualifiedChris Lattner2001-06-253-8/+7
| | | | | | | with the classname anyways. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74 91177308-0d34-0410-b5e6-96231b3b80d8
* * Rename get.*Operator to create seeing that it would have to be qualifiedChris Lattner2001-06-251-0/+17
| | | | | | | | | | with the classname anyways. * Add an isPHINode() method to Instruction * Add getUniqueName() to SymbolTable class * Add an insert method to ValueHolder git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73 91177308-0d34-0410-b5e6-96231b3b80d8
* A silly stupid test of the loop depth calculator was added. REMOVE in theChris Lattner2001-06-251-0/+11
| | | | | | | future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72 91177308-0d34-0410-b5e6-96231b3b80d8
* IntervalPartition: recode to use IntervalIterator to do all the workChris Lattner2001-06-252-117/+75
| | | | | | | | LoopDepth.cpp: new file that calculates the depth of a loop, using IntervalPartitions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71 91177308-0d34-0410-b5e6-96231b3b80d8
* New file due to the Intervals.h splitupChris Lattner2001-06-241-0/+181
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66 91177308-0d34-0410-b5e6-96231b3b80d8
* #include a different header due to Intervals.h splitting upChris Lattner2001-06-242-10/+48
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63 91177308-0d34-0410-b5e6-96231b3b80d8
* IntervalPartition & IntervalIterator classes have been split out intoChris Lattner2001-06-241-197/+4
| | | | | | | their own .h files & .cpp file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62 91177308-0d34-0410-b5e6-96231b3b80d8
* Prepare for split between Interval, IntervalIterator, and IntervalIPartitionChris Lattner2001-06-241-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement a lot more functionality. Now loop invariant and linearChris Lattner2001-06-221-5/+253
| | | | | | | induction variables are correctly identified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57 91177308-0d34-0410-b5e6-96231b3b80d8
* Interval::HeaderNode is now accessed thorugh an accessor functionChris Lattner2001-06-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a space to the PHI node output code to make it look nicerChris Lattner2001-06-211-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved printing code to the Assembly/Writer library.Chris Lattner2001-06-212-27/+67
| | | | | | | Code now detects looping intervals git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the new Interval::isLoop methodChris Lattner2001-06-211-0/+29
| | | | | | | Implement destructor to free memory git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of a silly printout that isn't needed right nowChris Lattner2001-06-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45 91177308-0d34-0410-b5e6-96231b3b80d8
* Add capability to print a derived interval graphChris Lattner2001-06-201-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42 91177308-0d34-0410-b5e6-96231b3b80d8
* Add capability to build a derived interval graphChris Lattner2001-06-201-44/+153
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial Checking of Interval handling codeChris Lattner2001-06-201-0/+85
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test case for interval codeChris Lattner2001-06-201-0/+44
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36 91177308-0d34-0410-b5e6-96231b3b80d8
* Updates to work with new cfg namespaceChris Lattner2001-06-131-1/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29 91177308-0d34-0410-b5e6-96231b3b80d8
* Updates to supportChris Lattner2001-06-115-38/+68
| | | | | | | * Changes in PHI node structure git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25 91177308-0d34-0410-b5e6-96231b3b80d8
* Updates to supportChris Lattner2001-06-114-258/+313
| | | | | | | | * Changes in PHI node structure * Change to PHI syntax git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved getBinaryOperator to the BinaryOperator class and the getUnaryOperatorChris Lattner2001-06-084-9/+11
| | | | | | | to the UnaryOperator class (from the Instruction class). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21 91177308-0d34-0410-b5e6-96231b3b80d8
* Updated to work with new CFG.h file.Chris Lattner2001-06-071-20/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15 91177308-0d34-0410-b5e6-96231b3b80d8
* Add extra method to PHI node classChris Lattner2001-06-071-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11 91177308-0d34-0410-b5e6-96231b3b80d8
* Significant rework. DCE is still not done (see #ifdef'd out parts)Chris Lattner2001-06-071-53/+188
| | | | | | | but at least the stuff that is checked in, now works. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed to print slightly differently. Added use counts for labelsChris Lattner2001-06-071-10/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixes for BB iterators, additional methods added for DCE passChris Lattner2001-06-071-3/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial revisionChris Lattner2001-06-0650-0/+11430
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2 91177308-0d34-0410-b5e6-96231b3b80d8