summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/CloneFunction.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Change uses of Function::front to Function::getEntryBlock for readability.Dan Gohman2007-03-221-1/+1
| | | | llvm-svn: 35265
* switch the inliner from being recursive to being iterative.Chris Lattner2007-03-021-6/+14
| | | | llvm-svn: 34832
* Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes inReid Spencer2007-02-051-1/+2
| | | | | | | 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
* Switch inliner over to use DenseMap instead of std::map for ValueMap. ThisChris Lattner2007-02-031-6/+7
| | | | | | 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
* Adjust #includes to match movement of constant folding code from ↵Chris Lattner2007-01-301-1/+1
| | | | | | transformutils to libanalysis. llvm-svn: 33680
* The inliner/cloner can now optionally take TargetData info, which can beChris Lattner2007-01-301-5/+8
| | | | | | used by constant folding. llvm-svn: 33676
* Change constant folding APIs to take an optional TargetData, and changeChris Lattner2007-01-301-19/+3
| | | | | | | | | | | 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
* Implement review feedback for the ConstantBool->ConstantInt merge. ChrisReid Spencer2007-01-121-1/+1
| | | | | | | | recommended that getBoolValue be replaced with getZExtValue and that get(bool) be replaced by get(const Type*, uint64_t). This implements those changes. llvm-svn: 33110
* For PR1043:Zhou Sheng2007-01-111-5/+8
| | | | | | | Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
* For PR950:Reid Spencer2006-12-231-2/+10
| | | | | | | | This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. llvm-svn: 32751
* Unbreak VC++ build.Jeff Cohen2006-11-051-3/+3
| | | | llvm-svn: 31464
* For PR786:Reid Spencer2006-11-021-3/+0
| | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. llvm-svn: 31380
* Second half of the fix for Transforms/Inline/inline_cleanup.llChris Lattner2006-09-131-2/+28
| | | | | | | This folds unconditional branches that are often produced by code specialization. llvm-svn: 30307
* Remove dead #includeChris Lattner2006-06-011-2/+0
| | | | llvm-svn: 28642
* Make the "pruning cloner" smarter. As it propagates constants through theChris Lattner2006-06-011-23/+146
| | | | | | | | | | code (while cloning) it often gets the branch/switch instructions. Since it knows that edges of the CFG are dead, it need not clone (or even look) at the obviously dead blocks. This should speed up the inliner substantially on code where there are lots of inlinable calls to functions with constant arguments. On C++ code in particular, this kicks in. llvm-svn: 28641
* Fix some regression from the inliner patch I committed last night. This fixesChris Lattner2006-05-271-1/+1
| | | | | | ldecod, lencod, and SPASS. llvm-svn: 28523
* Implement a new method, CloneAndPruneFunctionInto, as documented.Chris Lattner2006-05-271-0/+188
| | | | llvm-svn: 28519
* Allow the code cloning interfaces to capture some important info about theChris Lattner2006-01-131-11/+35
| | | | | | code being cloned if the client wants. llvm-svn: 25281
* Remove trailing whitespaceMisha Brukman2005-04-211-7/+7
| | | | llvm-svn: 21427
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-151-4/+4
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
* Fix #includes of i*.h => Instructions.h as per PR403.Misha Brukman2004-07-291-1/+1
| | | | llvm-svn: 15334
* Move RemapInstruction() to ValueMapper, so that it can be shared withBrian Gaeke2004-05-191-19/+0
| | | | | | | | CloneTrace, and because it is primarily an operation on ValueMaps. It is now a global (non-static) function which can be pulled in using ValueMapper.h. llvm-svn: 13600
* Minor speedup, don't query ValueMap each time through the loopChris Lattner2004-02-041-6/+3
| | | | llvm-svn: 11123
* Give CloneBasicBlock an optional function argument to specify which functionChris Lattner2004-02-041-4/+3
| | | | | | | | to add the cloned block to. This allows the block to be added to the function immediately, and all of the instructions to be immediately added to the function symbol table, which speeds up the inliner from 3.7 -> 3.38s on the PR209. llvm-svn: 11107
* Finegrainify namespacificationChris Lattner2004-01-091-12/+10
| | | | llvm-svn: 10727
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Refactor CloneFunction to expose the new CloneBasicBlock functionChris Lattner2003-04-181-13/+22
| | | | llvm-svn: 5806
* Add new linkage types to support a real frontendChris Lattner2003-04-161-1/+1
| | | | llvm-svn: 5786
* Initial checkin of Module cloning support stuffChris Lattner2002-11-201-4/+2
| | | | llvm-svn: 4788
* Fix minor bugsChris Lattner2002-11-201-2/+2
| | | | llvm-svn: 4778
* Remove unneccesary #includeChris Lattner2002-11-191-1/+0
| | | | llvm-svn: 4772
* Implement the CloneFunction functionChris Lattner2002-11-191-0/+40
| | | | llvm-svn: 4771
* Minor changes to cloning interfaceChris Lattner2002-11-191-14/+5
| | | | llvm-svn: 4770
* Fix two fixmes: integrate with inlining, and documentChris Lattner2002-11-191-6/+7
| | | | llvm-svn: 4769
* Rework inline pass to use cloning infrastructure to do the dirty workChris Lattner2002-11-191-7/+14
| | | | llvm-svn: 4766
* Start using the new function cloning headerChris Lattner2002-11-191-3/+3
| | | | llvm-svn: 4764
* *** empty log message ***Chris Lattner2002-06-301-1/+0
| | | | llvm-svn: 2813
* changes to make it compatible with 64bit gccAnand Shukla2002-06-251-2/+3
| | | | llvm-svn: 2795
* *** empty log message ***Chris Lattner2002-06-251-18/+18
| | | | llvm-svn: 2777
* Updates to move some header files out of include/llvm/Transforms intoChris Lattner2002-05-071-1/+1
| | | | | | the Scalar and Utils subdirectories llvm-svn: 2523
* s/Method/FunctionChris Lattner2002-04-271-1/+1
| | | | llvm-svn: 2336
* New clone function routineChris Lattner2002-03-291-0/+90
llvm-svn: 2045
OpenPOWER on IntegriCloud