aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/InstCombine
AgeCommit message (Expand)Author
2011-05-17X86 pmovsx/pmovzx ignore the upper half of their inputs.Stuart Hastings
2011-05-14Avoid combining GEPs that might overflow at runtime.Stuart Hastings
2011-05-05PR9838: Fix transform introduced in r127064 to not trigger when only one side...Eli Friedman
2011-05-02Remove unused variable.Duncan Sands
2011-05-02Move some rem transforms out of instcombine and into instsimplify.Duncan Sands
2011-04-30InstCombine: Turn (zext A) udiv (zext B) into (zext (A udiv B)). Same for ure...Benjamin Kramer
2011-04-30Use SimplifyDemandedBits on div instructions.Benjamin Kramer
2011-04-29Balance parentheses.Benjamin Kramer
2011-04-29InstCombine: turn (C1 << A) << C2) into (C1 << C2) << A)Benjamin Kramer
2011-04-28We require threse bits to be zero, too.Benjamin Kramer
2011-04-28Fix a comment.Benjamin Kramer
2011-04-28InstCombine: Merge "(trunc x) == C1 & (and x, CA) == C2" into a single and+icmp.Benjamin Kramer
2011-04-27Stop trying to have instcombine preserve LCSSA form: this was notDuncan Sands
2011-04-26Transform: "icmp eq (trunc (lshr(X, cst1)), cst" to "icmp (and X, mask), cst"Chris Lattner
2011-04-26some random cleanups, no functionality change.Chris Lattner
2011-04-16Rename a misleadingly-named variable.Frits van Bommel
2011-04-16Fix bug when checking phi operands in InstCombiner::visitPHINode(),Jay Foad
2011-04-15Fix a ton of comment typos found by codespell. Patch byChris Lattner
2011-04-14Add an instcombine for constructs like a | -(b != c); a select is moreEli Friedman
2011-04-13Reapply r129401 with patch for clang.Bill Wendling
2011-04-12Revert r129401 for now. Clang is using the old way of doing things.Bill Wendling
2011-04-12Remove the unaligned load intrinsics in favor of using native unaligned loads.Bill Wendling
2011-04-11Don't include Operator.h from InstrTypes.h.Jay Foad
2011-04-05InstCombine optimizes gep(bitcast(x)) even when the bitcasts casts away addressNadav Rotem
2011-04-02While SimplifyDemandedBits constant folds this, we can't rely on it here.Benjamin Kramer
2011-04-01Fix comment.Benjamin Kramer
2011-04-01Tweaks to the icmp+sext-to-shifts optimization to address Frits' comments:Benjamin Kramer
2011-04-01Fix build.Benjamin Kramer
2011-04-01InstCombine: Turn icmp + sext into bitwise/integer ops when the input has onl...Benjamin Kramer
2011-04-01InstCombine: Move (sext icmp) transforms into their own method. No intended f...Benjamin Kramer
2011-03-31Instcombile optimization: extractelement(cast) -> cast(extractelement)Nadav Rotem
2011-03-31InstCombine: APFloat can't perform arithmetic on PPC double doubles, don't ev...Benjamin Kramer
2011-03-31InstCombine: Fix transform to use the swapped predicate.Benjamin Kramer
2011-03-31InstCombine: fold fcmp (fneg x), (fneg y) -> fcmp x, yBenjamin Kramer
2011-03-31InstCombine: fold fcmp pred (fneg x), C -> fcmp swap(pred) x, -CBenjamin Kramer
2011-03-31InstCombine: Shrink "fcmp (fpext x), C" to "fcmp x, C" if C can be losslessly...Benjamin Kramer
2011-03-31InstCombine: fold fcmp (fpext x), (fpext y) -> fcmp x, y.Benjamin Kramer
2011-03-30InstCombine: If the divisor of an fdiv has an exact inverse, turn it into an ...Benjamin Kramer
2011-03-30Remove PHINode::reserveOperandSpace(). Instead, add a parameter toJay Foad
2011-03-30(Almost) always call reserveOperandSpace() on newly created PHINodes.Jay Foad
2011-03-29InstCombine: Add a few missing combines for ANDs and ORs of sign bit tests.Benjamin Kramer
2011-03-28Remove tabs I accidentally added.Nick Lewycky
2011-03-28Make more use of PHINode::getNumIncomingValues().Jay Foad
2011-03-27Add some debug output when -instcombine uses RAUW. This can make debug output...Frits van Bommel
2011-03-27Teach the transformation that moves binary operators around selects to preserveNick Lewycky
2011-03-27Use APInt's umul_ov instead of rolling our own overflow detection.Benjamin Kramer
2011-03-27Add a small missed optimization: turn X == C ? X : Y into X == C ? C : Y. ThisNick Lewycky
2011-03-17Try to not lose variable's debug info during instcombine.Devang Patel
2011-03-15If we don't know how long a string is we can't fold an _chk version to theEric Christopher
2011-03-14This case is solved by Scalar Replacement of Aggregates (DT) andJin-Gu Kang