aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms
AgeCommit message (Collapse)Author
2004-02-04Give CloneBasicBlock an optional function argument to specify which functionChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11107 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-03Bunch up all locally used allocas by the block they are allocated in, andChris Lattner
process them all as a group. This speeds up SRoA/mem2reg from 28.46s to 0.62s on the testcase from PR209. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11100 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-03Handle extremely trivial cases extremely efficiently. This speeds upChris Lattner
SRoA/mem2reg from 41.2s to 27.5s on the testcase in PR209. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11099 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-02Disable (x - (y - z)) => (x + (z - y)) optimization for floating point.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11083 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-02Update commentChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11082 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-02Make deadarghaX0r warning louder.Brian Gaeke
(I just love typing haX0r. haX0r haX0r haX0r.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11079 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-01Disable tail duplication in any "hard" cases, where it might break SSA form.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11052 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-01Fix the count of the number of instructions removedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11049 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-28Hyphenate `target-dependent'Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11003 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-14Fix InstCombine/2004-01-13-InstCombineInvokePHI.ll, which also fixes lotsChris Lattner
of C++ programs in Shootout-C++, including lists1 and moments, etc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10845 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Clean up #includesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10799 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Fix bug in previous checkinChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10798 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Eliminate use of ConstantHandling and ConstantExpr::getShift interfacesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10796 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Add header file I accidentally removed in teh shuffleChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10795 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Remove use of the ConstantHandling interfacesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10793 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Remove use of ConstantExpr::getShiftChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10792 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Don't use ConstantExpr::getShift anymoreChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10791 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Remove use of ConstantHandlingChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10789 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Remove unneeded #includeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10788 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Move llvm::ConstantFoldInstruction from VMCore to here, next to ↵Chris Lattner
ConstantFoldTerminator git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10785 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Remove uses of ConstantHandling itfChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10783 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Use constantexprs for casts. Eliminate use of the ConstantHandling interfacesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10779 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Fix fairly severe bug in my last checking where we treated all unfoldableChris Lattner
constants as being "true" when evaluating branches. This was introduced because we now create constantexprs for the constants instead of failing the fold. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10778 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12* Implement minor performance optimization for the getelementptr caseChris Lattner
* Implement SCCP of load instructions, implementing Transforms/SCCP/loadtest.ll This allows us to fold expressions like "foo"[2], even if the pointer is only a conditional constant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10767 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Do not hack on volatile loads. I'm not sure what the point of a volatile loadChris Lattner
from constant memory is, but lets not take chances. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10765 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Implement SCCP/phitest.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10763 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-12Implement Transforms/ScalarRepl/phinodepromote.ll, which is an importantChris Lattner
case that the C/C++ front-end generates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10761 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-10Update obsolete commentsChris Lattner
Fix iterator invalidation problems which was causing -mstrip to miss some entries, and read free'd memory. This shrinks the symbol table of 254.gap from 333 to 284 bytes! :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10751 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09Finegrainify namespacificationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10727 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09Remove dependence on structure index type. s/MT/FTChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10726 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09Finegrainify namespacificationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10725 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09Finegrainify namespacificationChris Lattner
add flags for PR82 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10724 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-09Inching towards fixing PR82Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10722 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-08Improve encapsulation in the Loop and LoopInfo classes by eliminating theChris Lattner
getSubLoops/getTopLevelLoops methods, replacing them with iterator-based accessors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10714 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-28Merging constants can cause further room for improvement. Iterate untilChris Lattner
we converge git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10618 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-23rename ClassifyExpression -> ClassifyExprChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10592 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-23More minor non-functional changes. This now computes the exit condition, thoughChris Lattner
it doesn't do anything with it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10590 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-23Remove extraneous #includeChris Lattner
finegrainify namespacification git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10589 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-22Fix memory corruption bug PR193Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10586 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-22Don't mind me, I'm just refactoring away. This patch makes room for LFTR, butChris Lattner
contains no functionality changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10583 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-22Implement IndVarsSimplify/pointer-indvars.ll, transforming pointerChris Lattner
arithmetic into "array subscripts" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10580 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-22Fix PR194Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10573 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-19Fix ADCE/2003-12-19-MergeReturn.llxChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10539 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-19Remove the wierd "Operands" loop, by traversing basicblocks in reverse orderChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10536 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-19Implement LICM/sink_multiple.ll, by sinking all possible instructions in theChris Lattner
loop before hoisting any. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10534 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-19Generalize a special case to fix PR187Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10531 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-19Factor code out into the Utils libraryChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10530 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-19Add new functionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10529 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-18Reverted back to previous revision - this was previously mergedJohn Criswell
according to the CVS log messages. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10517 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-18Merged in RELEASE_11.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10516 91177308-0d34-0410-b5e6-96231b3b80d8