aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms
AgeCommit message (Collapse)Author
2002-09-26Clean up LICM significantly now that it is guaranteed to have loop preheadersChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3947 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26Change pass name to something saneChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3946 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26Loop invariant code motion now depends on the LoopPreheader pass. Dead codeChris Lattner
has not yet been removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3945 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26- Cleanup break-crit-edges pass by making SplitCriticalEdge a member method.Chris Lattner
- break-crit-edges pass does not invalidate loop-preheader pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3944 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26Checkin new loop-preheader insertion pass.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3942 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26Converted SimpleStructMutation to take TargetData as a required pass.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3932 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-25Change LowerAllocations pass to 'require' TargetData instead of it beingChris Lattner
passed in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3929 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24 - Fix bug: Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3917 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24Eliminate extraneous #includeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3916 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24Fix bug: SimplifyCFG/2002-09-24-PHIAssertion.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3913 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24- Do not expose Critical Edge breaking mechanics outside the BCE pass, thusChris Lattner
removing it from Transforms/Local.h and from Transforms/Utils/* git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3911 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24 - Do not expose Critical Edge breaking mechanics outside the BCE pass, thusChris Lattner
removing it from Transforms/Local.h and from Transforms/Utils/* git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3910 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24 Correlated Exprs pass now requires BCE pass instead of doing it manuallyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3908 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24 - Expose passinfo from BreakCriticalEdges pass so that it may be "Required"Chris Lattner
by other passes. Make BCE pass be in anonymous namespace now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3907 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24Minor cleanupsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3904 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24Add new BreakCriticalEdges passChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3903 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23Optimize away cases like:Chris Lattner
%cast109 = cast uint %cast212 to short ; <short> [#uses=1] %cast214 = cast short %cast109 to uint ; <uint> [#uses=1] %cast215 = cast uint %cast214 to short ; <short> [#uses=1] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3897 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23Fix: ConstantMerge/2002-09-23-CPR-Update.llChris Lattner
Basically, this bug boiled down to calling replaceUsesOfWith on a constant, which changed it's shape in an illegal way. This pass now goes through all of the trouble neccesary to do the replacement on constants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3895 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23* Fix bug: CorrelatedExprs/2002-09-23-PHIUpdateBug.llChris Lattner
* Make sure "Changed" is updated correctly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3891 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23Insert resolved constants into the global map so they are reused correctly.Chris Lattner
This bug was exposed linking the SPEC benchmark suite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3888 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-22Don't insert a PHI node to merge "returns" from an inlined function if thereChris Lattner
is only a single return from the function! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3878 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20Added checking thresholdAnand Shukla
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3864 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18split retracing into a separate fileAnand Shukla
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3809 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18Removed unnecessary #includes.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3802 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18Fixed typo.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3801 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17There is a #define in some header that conflicts with INFINITY, rename it.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3797 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17Fix bug: test/Regression/Transforms/InstCombine/2002-09-17-GetElementPtrCrash.llChris Lattner
Thanks to Casey for finding it! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3783 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16Fix FunctionInlining pass assertion failure:Chris Lattner
ilist:104: failed assertion `Traits::getNext(NodePtr) != 0 && "Dereferencing end()!"' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3768 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16Fix: test/Regression/LLC/badidx.c problemChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3763 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16Extract most of the transformation into an externally accessibleVikram S. Adve
function -- DecomposeArrayRef(GetElementPtrInst* GEP) -- that can be invoked on a single instruction at a time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3755 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16Incorporated changes in alloca and getElementPointer instructionAnand Shukla
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3733 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16Incorporated changes in alloca instructionAnand Shukla
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3732 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-14Fix bug I introducedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3719 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-14Function.h is unnecessary when Module.h is included.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3716 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-14Following Chris's advice, I'm pruning some unnecessary .h includes that I'mMisha Brukman
noticing. Since Module includes Function, and eventually, BasicBlock and GlobalVariable, the last three are unnecessary to be included directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3713 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-13Change the MallocInst & AllocaInst ctors to take the allocated type, not theChris Lattner
pointer type returned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3711 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-13Change the MallocInst & AllocaInst ctors to take the allocated type, not theChris Lattner
pointer type returned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3710 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-12Fix bug I introduced with one of my previous changes.Chris Lattner
Thanks fly out to Nick for noticing it! :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3691 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-11- Change getelementptr instruction to use long indexes instead of uintChris Lattner
indexes for sequential types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3682 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-11 - Change getelementptr instruction to use long indexes instead of uintChris Lattner
indexes for sequential types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3681 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10Fix the last of the silly bugs I just introduced. :(Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3674 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10Fix bugs in previous checkinsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3673 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10Fix bug in previous checkinChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3672 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10Add cannonicalization of shl X, 1 -> add X, XChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3671 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10Fix minor problems in previous checkinChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3669 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10Fix minor problems in previous checkinChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3668 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10Clean up code due to auto-insert constructorsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3666 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10Clean up code due to auto-insert constructorsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3665 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10Clean up codeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3664 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10Fix bug: test/Regression/Transforms/LevelRaise/2002-09-10-PointerAdds.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3658 91177308-0d34-0410-b5e6-96231b3b80d8