aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Scalar/InstructionCombining.cpp
AgeCommit message (Expand)Author
2005-09-26Factor the GetGEPGlobalInitializer out of this pass and into Transforms/UtilsChris Lattner
2005-09-24Move MaskedValueIsZero up.Chris Lattner
2005-09-18Refactor this code a bit and make it more general. This now compiles:Chris Lattner
2005-09-18CompileChris Lattner
2005-09-18Generalize this transform, using MaskedValueIsZero, allowing us to compile:Chris Lattner
2005-09-18fix typeoChris Lattner
2005-09-18Remove unintentionally committed codeChris Lattner
2005-09-18implement shift.ll:test25. This compiles:Chris Lattner
2005-09-18Implement add.ll:test29. Codegening:Chris Lattner
2005-09-18remove debug outputChris Lattner
2005-09-18Implement or.ll:test21. This teaches instcombine to be able to turn this:Chris Lattner
2005-09-14Fix the regression last night compiling povrayChris Lattner
2005-09-13Add a simple xform to simplify array accesses with casts in the way.Chris Lattner
2005-09-13Add a helper function, allowing us to simplify some code a bit, changingChris Lattner
2005-09-12Implement a simple xform to turn code like this:Chris Lattner
2005-09-12Another load-peephole optimization: do gcse when two loads are next toChris Lattner
2005-09-12Implement a trivial form of store->load forwarding where the store and theChris Lattner
2005-08-08Use the new 'moveBefore' method to simplify some code. Really, which isChris Lattner
2005-08-07Add some simple folds that occur in bitfield cases. Fix a minor bug inChris Lattner
2005-08-05now that hasConstantValue defaults to only returning values that dominateChris Lattner
2005-08-04Fix a fixme in CondPropagate.cpp by moving a PhiNode optimization intoNate Begeman
2005-08-02Update to use the new MathExtras.h support for log2 computation.Chris Lattner
2005-07-27Eliminate all remaining tabs and trailing spaces.Jeff Cohen
2005-07-20Do not let MaskedValueIsZero consider undef to be zero, for reasonsChris Lattner
2005-07-18When transforming &A[i] < &A[j] -> i < j, make sure to perform the comparisonChris Lattner
2005-07-07Fix a problem that instcombine would hit when dealing with unreachable code.Chris Lattner
2005-06-18Clean up some uninitialized variables and missing return statements thatReid Spencer
2005-06-17This is not true: (X != 13 | X < 15) -> X < 15Chris Lattner
2005-06-17Don't crash when dealing with INTMIN. This fixes PR585 andChris Lattner
2005-06-17avoid constructing out of range shift amounts.Chris Lattner
2005-06-16Fix PR583 and testcase Transforms/InstCombine/2005-06-15-DivSelectCrash.llChris Lattner
2005-06-16Fix PR571, removing code that does just the WRONG thing :)Chris Lattner
2005-06-16Fix a bug in my previous patch. Do not get the shift amount type (whichChris Lattner
2005-06-15Fix PR577 and testcase InstCombine/2005-06-15-ShiftSetCCCrash.ll.Chris Lattner
2005-06-15Put the hack back in that removes features, causes regressions to fail, butReid Spencer
2005-06-13Unbreak several InstCombine regression checks introduced by a hack toReid Spencer
2005-06-04hack to fix bzip2 (bug 571)Andrew Lenharth
2005-05-14preserve calling conventions when hacking on codeChris Lattner
2005-05-13calling a function with the wrong CC is undefined, turn it into an unreachableChris Lattner
2005-05-09implement and.ll:test33Chris Lattner
2005-05-08Strength reduce SAR into SHR if there is no way sign bits could be shiftedChris Lattner
2005-05-07Fix a miscompilation of crafty by clobbering the "A" variable.Chris Lattner
2005-05-06Preserve tail markerChris Lattner
2005-05-06Teach instcombine propagate zeroness through shl instructions, implementingChris Lattner
2005-05-06Implement shift.ll:test23. If we are shifting right then immediately truncatingChris Lattner
2005-05-06Implement xor.ll:test22Chris Lattner
2005-05-06implement and.ll:test30 and set.ll:test21Chris Lattner
2005-05-06implement or.ll:test20Chris Lattner
2005-05-04Instcombine: cast (X != 0) to int, cast (X == 1) to int -> X iff X has only ...Chris Lattner
2005-05-01Implement getelementptr.ll:test11Chris Lattner