summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Adjust to the new BasicBlock ctor, which requires a function parameterChris Lattner2004-02-041-1/+1
| | | | llvm-svn: 11114
* Refactor code just a little bit, allowing us to implement ↵Chris Lattner2003-12-141-51/+68
| | | | | | TailCallElim/return_constant.ll llvm-svn: 10467
* Implement: TailCallElim/accum_recursion_constant_arg.llChris Lattner2003-12-081-6/+60
| | | | | | Also make sure to clean up any PHI nodes that are inserted which are pointless. llvm-svn: 10333
* Implement: test/Regression/Transforms/TailCallElim/accum_recursion.llChris Lattner2003-12-081-12/+122
| | | | | | | | We now insert accumulator variables as necessary to eliminate tail recursion more aggressively. This is still fairly limited, but allows us to transform fib/factorial, and other functions into nice happy loops. :) llvm-svn: 10332
* Cleanup and restructure the code to make it easier to read and maintain.Chris Lattner2003-12-081-53/+126
| | | | | | | | | | | | | | The only functionality change is that we now implement: Regression/Transforms/TailCallElim/intervening-inst.ll Which is really kinda pointless, because it means that trivially dead code does not interfere with -tce, but trivially dead code probably wouldn't be around anytime when this pass is run anyway. The point of including this change it to support other more aggressive transformations when we have the analysis capabilities to do so. llvm-svn: 10312
* Minor cleanups and simplificationsChris Lattner2003-11-211-1/+1
| | | | llvm-svn: 10127
* Start using the nicer terminator auto-insertion APIChris Lattner2003-11-201-5/+5
| | | | llvm-svn: 10111
* 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
* Rename Function::getEntryNode -> getEntryBlockChris Lattner2003-09-201-1/+1
| | | | llvm-svn: 8625
* Fix a really obvious huge gaping bug, add a commentChris Lattner2003-09-201-1/+2
| | | | llvm-svn: 8620
* Expose the TCE passChris Lattner2003-09-201-0/+3
| | | | llvm-svn: 8619
* New transformation: tail recursion eliminationChris Lattner2003-09-201-0/+96
llvm-svn: 8618
OpenPOWER on IntegriCloud