summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils
Commit message (Collapse)AuthorAgeFilesLines
* Reduce malloc/free traffic.Devang Patel2007-03-261-12/+8
| | | | llvm-svn: 35370
* Change uses of Function::front to Function::getEntryBlock for readability.Dan Gohman2007-03-224-6/+8
| | | | llvm-svn: 35265
* LoopSimplify::FindPHIToPartitionLoops()Devang Patel2007-03-201-4/+6
| | | | | | Use ETForest instead of DominatorSet. llvm-svn: 35221
* Unbreak VC++ build. Do not use identifiers starting with _ as they are ↵Jeff Cohen2007-03-121-3/+3
| | | | | | | | reserved and can collide with system defined names. Windows defines _BB, for example. llvm-svn: 35066
* Use range tests in LowerSwitch, where possibleAnton Korobeynikov2007-03-101-31/+114
| | | | llvm-svn: 35057
* Remove dead comments.Devang Patel2007-03-091-3/+0
| | | | llvm-svn: 35053
* Avoid recursion. Use iterative algorithm for RenamePass().Devang Patel2007-03-091-4/+31
| | | | llvm-svn: 35052
* Make sure debug code is not evaluated in non-debug case.Reid Spencer2007-03-021-2/+3
| | | | llvm-svn: 34856
* 1. Sort switch cases using APInt safe comparison.Reid Spencer2007-03-021-2/+2
| | | | | | 2. Make sure debug output of APInt values is safe for all bit widths. llvm-svn: 34855
* Use APInt safe isOne() method on ConstantInt instead of getZExtValue()==1Reid Spencer2007-03-021-1/+1
| | | | llvm-svn: 34854
* Make sorting of ConstantInt be APInt clean through use of ult function.Reid Spencer2007-03-021-1/+1
| | | | llvm-svn: 34853
* switch the inliner from being recursive to being iterative.Chris Lattner2007-03-021-6/+14
| | | | llvm-svn: 34832
* fix an obscure and tricky bug the inliner can hit sometimes.Chris Lattner2007-02-231-1/+1
| | | | llvm-svn: 34531
* Revert changes for a simplier solution.Jim Laskey2007-02-221-50/+36
| | | | llvm-svn: 34495
* Itanium ABI exception handing support.Jim Laskey2007-02-211-36/+50
| | | | llvm-svn: 34480
* Fix typos in comments.Dan Gohman2007-02-201-1/+1
| | | | llvm-svn: 34456
* eliminate use of deprecated apisChris Lattner2007-02-191-2/+2
| | | | llvm-svn: 34417
* For PR1195:Reid Spencer2007-02-151-2/+2
| | | | | | | Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and PackedTyID -> VectorTyID. No functional changes. llvm-svn: 34293
* Eliminate use of ctors that take vectors.Chris Lattner2007-02-134-19/+23
| | | | llvm-svn: 34219
* stop using methods that take vectors.Chris Lattner2007-02-121-3/+4
| | | | llvm-svn: 34205
* simplify code by using Value::takeNameChris Lattner2007-02-114-32/+26
| | | | llvm-svn: 34177
* redesign the primary datastructure used by mem2reg to eliminate anChris Lattner2007-02-071-103/+156
| | | | | | std::map of std::vector's (ouch!). This speeds up mem2reg by 10% on 176.gcc. llvm-svn: 33974
* With the last change, we no longer need both directions of mapping fromChris Lattner2007-02-051-4/+8
| | | | | | | | BBNumbers. Instead of using a bi-directional mapping, just use a single densemap. This speeds up mem2reg on 176.gcc by 8%, from 1.3489 to 1.2485s. llvm-svn: 33940
* Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes inReid Spencer2007-02-054-4/+8
| | | | | | | the Transforms library. This reduces debug library size by 132 KB, debug binary size by 376 KB, and reduces link time for llvm tools slightly. llvm-svn: 33939
* Simplify use of DFBlocks, this makes no noticable performance difference,Chris Lattner2007-02-051-3/+3
| | | | | | but paves the way to eliminate BBNumbers. llvm-svn: 33938
* Switch InsertedPHINodes back to SmallPtrSet now that the SmallPtrSet::eraseChris Lattner2007-02-051-6/+6
| | | | | | bug is fixed. llvm-svn: 33932
* switch a SmallPtrSet back to an std::set for now, this caused problems.Chris Lattner2007-02-051-6/+6
| | | | llvm-svn: 33930
* switch an std::set over to a SmallPtrSet, speeding up mem2reg 6% on 176.gcc.Chris Lattner2007-02-051-1/+1
| | | | llvm-svn: 33929
* switch an std::set over to SmallPtrSet, speeding up mem2reg 3.4% on 176.gcc.Chris Lattner2007-02-051-16/+13
| | | | llvm-svn: 33928
* eliminate some malloc traffic, this speeds up mem2reg by 3.4%.Chris Lattner2007-02-051-5/+8
| | | | llvm-svn: 33927
* For PR411:Reid Spencer2007-02-051-1/+0
| | | | | | | | | | This patch replaces the SymbolTable class with ValueSymbolTable which does not support types planes. This means that all symbol names in LLVM must now be unique. The patch addresses the necessary changes to deal with this and removes code no longer needed as a result. This completes the bulk of the changes for this PR. Some cleanup patches will follow. llvm-svn: 33918
* For PR1177:Reid Spencer2007-02-051-4/+4
| | | | | | Revert last patch which caused iteration invalidation. llvm-svn: 33901
* Use DenseMap for pointer->pointer maps.Owen Anderson2007-02-051-4/+4
| | | | llvm-svn: 33897
* For PR1163:Reid Spencer2007-02-041-0/+1
| | | | | | | Make the Module's dependent library use a std::vector instead of SetVector adjust #includes in .cpp files because SetVector.h is no longer included. llvm-svn: 33855
* Switch inliner over to use DenseMap instead of std::map for ValueMap. ThisChris Lattner2007-02-036-25/+28
| | | | | | speeds up the inliner 16%. llvm-svn: 33801
* Fix bugs in the inliner having to do with single-entry phi nodes and valuemapChris Lattner2007-02-011-12/+12
| | | | | | | | updating. These were exposed by Devang's recent passmgr changes (with non-default passorderings) because now the inliner can be interleved with the LCSSA pass. llvm-svn: 33760
* eliminate temporary vectorsChris Lattner2007-01-311-16/+13
| | | | llvm-svn: 33713
* Adjust #includes to match movement of constant folding code from ↵Chris Lattner2007-01-302-1/+2
| | | | | | transformutils to libanalysis. llvm-svn: 33680
* move a bunch of constant folding code f rom Transforms/Utils/Local.cpp intoChris Lattner2007-01-301-152/+0
| | | | | | libanalysis/ConstantFolding.cpp. llvm-svn: 33679
* remove now-dead code.Chris Lattner2007-01-301-14/+0
| | | | llvm-svn: 33678
* The inliner/cloner can now optionally take TargetData info, which can beChris Lattner2007-01-302-11/+14
| | | | | | used by constant folding. llvm-svn: 33676
* Change constant folding APIs to take an optional TargetData, and changeChris Lattner2007-01-302-41/+18
| | | | | | | | | | | ConstantFoldInstOperands/ConstantFoldCall to take a pointer to an array of operands + size, instead of an std::vector. In some cases, switch to using a SmallVector instead of a vector. This allows us to get rid of some special case gross code that was there to avoid the cost of constructing a vector. llvm-svn: 33670
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-302-2/+2
| | | | | | confusion with external linkage types. llvm-svn: 33663
* For PR761:Reid Spencer2007-01-261-2/+1
| | | | | | | The Module::setEndianness and Module::setPointerSize methods have been removed. Instead you can get/set the DataLayout. Adjust thise accordingly. llvm-svn: 33530
* Inherit BasicBlockPass directly from Pass.Devang Patel2007-01-251-1/+1
| | | | llvm-svn: 33511
* For PR1043:Reid Spencer2007-01-191-0/+1
| | | | | | | | | | | | | | This is the final patch for this PR. It implements some minor cleanup in the use of IntegerType, to wit: 1. Type::getIntegerTypeMask -> IntegerType::getBitMask 2. Type::Int*Ty changed to IntegerType* from Type* 3. ConstantInt::getType() returns IntegerType* now, not Type* This also fixes PR1120. Patch by Sheng Zhou. llvm-svn: 33370
* rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.Chris Lattner2007-01-151-1/+1
| | | | | | | | | rename Type::getIntegralTypeMask to Type::getIntegerTypeMask. This makes naming much more consistent. For example, there are now no longer any instances of IntegerType that are not considered isInteger! :) llvm-svn: 33225
* Eliminate calls to isInteger, generalizing code and tightening checks as needed.Chris Lattner2007-01-151-1/+1
| | | | llvm-svn: 33218
* Fix Analysis/Dominators/2006-10-02-BreakCritEdges.llChris Lattner2007-01-151-1/+2
| | | | llvm-svn: 33210
* Fix PR1110 and Analysis/Dominators/2007-01-14-BreakCritEdges.ll by beingChris Lattner2007-01-141-35/+40
| | | | | | more careful about unreachable code when updating dominator info. llvm-svn: 33204
OpenPOWER on IntegriCloud