summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAge
...
* * The parent of a constant pool is a SymTabValue, not a value.Chris Lattner2001-07-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178 91177308-0d34-0410-b5e6-96231b3b80d8
* Made the following changes:Chris Lattner2001-07-14
| | | | | | | | | | | | | | | | * ValueHolder became a 3 argument template. This allows for BasicBlock to use the value holder arg as a typesafe parent pointer. * SymTabValue no longer inherits from Value * Method does not inherit from only SymTabValue. Now it inherits from both STV & Value. * Module does not inherit from only SymTabValue. Now it inherits from both STV & Value. * Updated the SymTabValue.h file to reference SymTabValue instead of STDef in several places * Added isArraySelector & isStructSelector to GetElementPtr instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DebugValue member.Chris Lattner2001-07-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't clean out the type plane of the constant pool... this is a hack. FIXMEChris Lattner2001-07-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure that types go in the constant pool if they are used.Chris Lattner2001-07-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171 91177308-0d34-0410-b5e6-96231b3b80d8
* Implementation of Store & GetElementPtrChris Lattner2001-07-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement checking for new instructionsChris Lattner2001-07-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163 91177308-0d34-0410-b5e6-96231b3b80d8
* Implemented shl, shl, & load instructionsChris Lattner2001-07-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved Cast from being a Unary instruction to being an "Other" instructionChris Lattner2001-07-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the CDG to mark branches alive on demand.Chris Lattner2001-07-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed post dominator frontiers! Yaay!Chris Lattner2001-07-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157 91177308-0d34-0410-b5e6-96231b3b80d8
* Neg instruction removed. Cast instruction implemented.Chris Lattner2001-07-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156 91177308-0d34-0410-b5e6-96231b3b80d8
* Removing unnecesary fileChris Lattner2001-07-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert BinaryOperand and UnaryOperator to only take instruction types ofChris Lattner2001-07-07
| | | | | | | the appropriate enum git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153 91177308-0d34-0410-b5e6-96231b3b80d8
* Broad superficial changes:Chris Lattner2001-07-07
| | | | | | | | | | * Renamed getOpcode to getOpcodeName * Changed getOpcodeName to return a const char * instead of string * Added a getOpcode method to replace getInstType * Changed code to use getOpcode instead of getInstType git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152 91177308-0d34-0410-b5e6-96231b3b80d8
* Changed the fundemental architecture of Operands for Instructions. NowChris Lattner2001-07-07
| | | | | | | | | | | | Operands are maintained as a vector<Use> in the User class, and operator iterators are provided as before. Getting an operand no longer requires a virtual function call. WARNING: getOperand(x) where x >= getNumOperands() will now assert instead of returning null! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149 91177308-0d34-0410-b5e6-96231b3b80d8
* Changed memory reference instructions to store the result as the implicitChris Lattner2001-07-07
| | | | | | | type of the instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed some error messages to be nicerChris Lattner2001-07-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147 91177308-0d34-0410-b5e6-96231b3b80d8
* Add method to unify all exit nodes of a methodChris Lattner2001-07-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement support for postdominators, except in dom frontiersChris Lattner2001-07-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142 91177308-0d34-0410-b5e6-96231b3b80d8
* Update to include right fileChris Lattner2001-07-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138 91177308-0d34-0410-b5e6-96231b3b80d8
* IntervalPartition was changed to inherit from vector<Interval*> instead ofChris Lattner2001-07-03
| | | | | | | | | contain it so that it would have full iterator access without much work. Writer includes code to print out IntervalPartition's now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133 91177308-0d34-0410-b5e6-96231b3b80d8
* Code got moved from the lib/Assembly/Writer/IntervalWriter.cpp file toChris Lattner2001-07-03
| | | | | | | here. Updates to correct description n stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129 91177308-0d34-0410-b5e6-96231b3b80d8
* Add printing code for dominator infoChris Lattner2001-07-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125 91177308-0d34-0410-b5e6-96231b3b80d8
* Checkin of new dominator calculation routines. These will be improved inChris Lattner2001-07-02
| | | | | | | the future to do post dominators and stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124 91177308-0d34-0410-b5e6-96231b3b80d8
* Moved deleter to include/llvm/Tools/STLExtras.hChris Lattner2001-07-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial checkin. Should print dead instructions, except it doesn't doChris Lattner2001-06-30
| | | | | | | control dependencies. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename DoSparseConditionalConstantProp -> DoSCCPChris Lattner2001-06-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117 91177308-0d34-0410-b5e6-96231b3b80d8
* Optimizations got their own header filesChris Lattner2001-06-30
| | | | | | | | Optimizations now live in the 'opt' namespace include/llvm/Opt was renamed include/llvm/Optimizations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement reduceApply methodChris Lattner2001-06-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new pop_back() methodChris Lattner2001-06-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111 91177308-0d34-0410-b5e6-96231b3b80d8
* Split AllOpts.h into lots of little .h files.Chris Lattner2001-06-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108 91177308-0d34-0410-b5e6-96231b3b80d8
* Export ConstantFoldTerminator, allow it to fold conditional branches toChris Lattner2001-06-29
| | | | | | | the same label. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107 91177308-0d34-0410-b5e6-96231b3b80d8
* Added documentation. Constant fold terminators.Chris Lattner2001-06-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a check to avoid allowing V->replaceAllUsesWith(V)Chris Lattner2001-06-29
| | | | 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-29
| | | | | | | 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-29
| | | | | | | | | | * 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-29
| | | | | | | 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-29
| | | | | | | 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-27
| | | | | | | | | | | | * 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-27
| | | | 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-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92 91177308-0d34-0410-b5e6-96231b3b80d8
* Misc cleanupChris Lattner2001-06-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91 91177308-0d34-0410-b5e6-96231b3b80d8
* * Expose DoConstantPoolMergingChris Lattner2001-06-27
| | | | | | | | * 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-27
| | | | 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-27
| | | | 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-27
| | | | 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-25
| | | | | | | | 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-25
| | | | 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-25
| | | | | | | with the classname anyways. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74 91177308-0d34-0410-b5e6-96231b3b80d8