summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* shrink vmcore by moving symbol table stripping support out of VMCore intoChris Lattner2007-02-071-2/+23
| | | | | | the one IPO pass that uses it. llvm-svn: 33990
* 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-0546-97/+146
| | | | | | | 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
* This file should have been removed when -raise was removed. It isn'tReid Spencer2007-02-051-134/+0
| | | | | | used any more. llvm-svn: 33937
* 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
* Add missing and needed #include.Reid Spencer2007-02-051-0/+1
| | | | llvm-svn: 33926
* Make the class VISIBILITY_HIDDEN.Reid Spencer2007-02-051-3/+3
| | | | | | Reduce lexical size of the anonymous namespace. llvm-svn: 33925
* For PR411:Reid Spencer2007-02-059-18/+18
| | | | | | | | Adjust to changes in Module interface: getMainFunction() -> getFunction("main") getNamedFunction(X) -> getFunction(X) llvm-svn: 33922
* For PR411:Reid Spencer2007-02-054-40/+58
| | | | | | | | | | 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 PR411:Reid Spencer2007-02-051-363/+0
| | | | | | This pass is no longer needed. llvm-svn: 33917
* Create a pass to strip dead function declarations (prototypes). This isReid Spencer2007-02-051-0/+61
| | | | | | for use by llvm-extract and bugpoint. llvm-svn: 33916
* Fix miscompilations of consumer-typeset, telecomm-gsm, and 176.gcc.Chris Lattner2007-02-051-6/+6
| | | | llvm-svn: 33902
* For PR1177:Reid Spencer2007-02-051-4/+4
| | | | | | Revert last patch which caused iteration invalidation. llvm-svn: 33901
* fix a miscompilation of 176.gccChris Lattner2007-02-051-2/+2
| | | | llvm-svn: 33900
* Use DenseMap for pointer->pointer maps.Owen Anderson2007-02-051-4/+4
| | | | llvm-svn: 33897
* rewrite shift/shift folding, now that types are not signed.Chris Lattner2007-02-051-74/+103
| | | | llvm-svn: 33892
* Fix indenting, remove tabs.Nick Lewycky2007-02-041-32/+90
| | | | | | | | | | | | Learn from sext and zext. The destination value falls within the range of the source type. Generalize properties regarding constant ints. Get smarter about marking blocks as unreachable. If 1 >= 2 in order for this block to execute, then it isn't reachable. llvm-svn: 33889
* For PR1163:Reid Spencer2007-02-044-1/+4
| | | | | | | 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
* remove some dead codeChris Lattner2007-02-031-14/+3
| | | | llvm-svn: 33845
* For PR1072:Reid Spencer2007-02-034-1544/+0
| | | | | | | Removing -raise has neglible positive or negative side effects so we are opting to remove it. See the PR for comparison details. llvm-svn: 33844
* Switch inliner over to use DenseMap instead of std::map for ValueMap. ThisChris Lattner2007-02-038-38/+41
| | | | | | speeds up the inliner 16%. llvm-svn: 33801
* Switch this back to using an std::map. DenseMap entries are getting invalidatedChris Lattner2007-02-021-5/+5
| | | | llvm-svn: 33799
* Remove more malloc thrashing, this speeds up IPSCCP on kimwitu another 6.7%.Chris Lattner2007-02-021-10/+10
| | | | llvm-svn: 33796
* Convert an std::set to SmallSet, this speeds up IPSCCP 17% on kimwitu.Chris Lattner2007-02-021-5/+5
| | | | llvm-svn: 33794
* eliminate a malloc/free for (almost) every GEP processed. This speeds upChris Lattner2007-02-021-2/+3
| | | | | | IPSCCP 3.3% on kimwitu. llvm-svn: 33793
* switch hash_map's over to DenseMap in SCCP. This speeds up SCCP by 30% inChris Lattner2007-02-021-19/+21
| | | | | | a release-assert build on kimwitu++. llvm-svn: 33792
* Remove dead code and fix indentation per Chris' review comments.Reid Spencer2007-02-021-31/+12
| | | | llvm-svn: 33785
* Use short form of binary operator create functions.Reid Spencer2007-02-022-25/+25
| | | | llvm-svn: 33783
* bugfix for reid's shift patch.Chris Lattner2007-02-021-2/+2
| | | | llvm-svn: 33779
* Changes to support making the shift instructions be true BinaryOperators.Reid Spencer2007-02-026-155/+169
| | | | | | | | | | | | This feature is needed in order to support shifts of more than 255 bits on large integer types. This changes the syntax for llvm assembly to make shl, ashr and lshr instructions look like a binary operator: shl i32 %X, 1 instead of shl i32 %X, i8 1 Additionally, this should help a few passes perform additional optimizations. llvm-svn: 33776
* Fix Transforms/InstCombine/2007-02-01-LoadSinkAlloca.ll, a serious codeChris Lattner2007-02-011-0/+24
| | | | | | | pessimization where instcombine can sink a load (good for code size) that prevents an alloca from being promoted by mem2reg (bad for everything). llvm-svn: 33771
* Ensure that ConvertOperandToType generates a result conversion byReid Spencer2007-02-011-1/+3
| | | | | | | initializing the Res variable to 0 and asserting it is not zero after the result should have been created. llvm-svn: 33761
* 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
* remove temporary vectors.Chris Lattner2007-01-313-13/+9
| | | | llvm-svn: 33715
* eliminate temporary vectorsChris Lattner2007-01-311-16/+13
| | | | llvm-svn: 33713
* eliminate temporary vectorsChris Lattner2007-01-312-12/+8
| | | | llvm-svn: 33712
* Revert another incorrectly applied chunk, which fixes ↵Chris Lattner2007-01-311-7/+0
| | | | | | InstCombine/vec_insert_to_shuffle.ll llvm-svn: 33705
* eliminate temporary vectorsChris Lattner2007-01-313-17/+25
| | | | llvm-svn: 33693
* Move symbolic constant folding code to libanalysis.Chris Lattner2007-01-311-106/+0
| | | | llvm-svn: 33688
* Adjust #includes to match movement of constant folding code from ↵Chris Lattner2007-01-3011-10/+14
| | | | | | 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 pass now passes targetdata down through the inliner api'sChris Lattner2007-01-302-3/+19
| | | | llvm-svn: 33677
* The inliner/cloner can now optionally take TargetData info, which can beChris Lattner2007-01-302-11/+14
| | | | | | used by constant folding. llvm-svn: 33676
OpenPOWER on IntegriCloud