summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* stop using methods that take vectors.Chris Lattner2007-02-126-17/+27
| | | | llvm-svn: 34205
* Switch ValueSymbolTable to use StringMap<Value*> instead of ↵Chris Lattner2007-02-121-1/+1
| | | | | | | | | std::map<std::string, Value*> as its main datastructure. There are many improvements yet to be made, but this speeds up opt --std-compile-opts on 447.dealII by 7.3%. llvm-svn: 34193
* simplify code by using Value::takeNameChris Lattner2007-02-114-32/+26
| | | | llvm-svn: 34177
* Simplify code by using value::takenameChris Lattner2007-02-116-71/+61
| | | | llvm-svn: 34176
* simplify name juggling through the use of Value::takeName.Chris Lattner2007-02-116-34/+23
| | | | llvm-svn: 34175
* Privatize StructLayout::MemberOffsets, adding an accessorChris Lattner2007-02-102-2/+3
| | | | llvm-svn: 34156
* Fix Transforms/DeadArgElim/2007-02-07-FuncRename.ll, fallout from PR411.Chris Lattner2007-02-071-2/+4
| | | | | | | | | This happened because deadargelim now causes VMCore to auto-rename every function that it hacks arguments out of. Because it hacks arguments out of functions in a non-deterministic order, this caused the resultant numbering to be nondet. The fix is to just be careful to not rename functions! llvm-svn: 34005
* 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
OpenPOWER on IntegriCloud