aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/InstCombine
AgeCommit message (Expand)Author
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
2011-03-13Add comment as following:Jin-Gu Kang
2011-03-12This patch removes some of useless instructions generated by bitfield access.Jin-Gu Kang
2011-03-11InstCombine: Fix a thinko where transform an icmp under the assumption that i...Benjamin Kramer
2011-03-10InstCombine: Turn umul_with_overflow into mul nuw if we can prove that it can...Benjamin Kramer
2011-03-09PR9346: Prevent SimplifyDemandedBits from incorrectly introducingEli Friedman
2011-03-08llvm.dbg.declare intrinsic does not use any llvm::Values. It's magic!Devang Patel
2011-03-08Reorder comments to put them the right way around.Nick Lewycky
2011-03-07Add more analysis of the sign bit of an srem instruction. If the LHS is negativeNick Lewycky
2011-03-06ConstantInt has some getters which return ConstantInt's or ConstantVector's ofNick Lewycky
2011-03-05InstCombine: We know the number of items initially added to the worklist map,...Benjamin Kramer
2011-03-05Thread comparisons over udiv/sdiv/ashr/lshr exact and lshr nuw/nsw wheneverNick Lewycky
2011-03-05Try once again to optimize "icmp (srem X, Y), Y" by turning the comparison intoNick Lewycky
2011-03-01Make InstCombiner::FoldAndOfICmps create a ConstantRange that's theAnders Carlsson
2011-02-28srem doesn't actually have the same resulting sign as its numerator, you couldNick Lewycky
2011-02-28Teach InstCombine to fold "(shr exact X, Y) == 0" --> X == 0, fixing #1 fromNick Lewycky
2011-02-28The sign of an srem instruction is the sign of its dividend (the firstNick Lewycky
2011-02-24change instcombine to not turn a call to non-varargs bitcast ofChris Lattner
2011-02-20Move "A | ~(A & ?) -> -1" from InstCombine to InstructionSimplify.Benjamin Kramer
2011-02-20InstCombine: Add a bunch of combines of the form x | (y ^ z).Benjamin Kramer
2011-02-19PR9218: SimplifyDemandedVectorElts can return a non-null value that is notEli Friedman
2011-02-18Add some transforms of the kind X-Y>X -> 0>Y which are valid when there is noDuncan Sands
2011-02-17have instcombine preserve nsw/nuw/exact when sinkingChris Lattner
2011-02-17fix typoChris Lattner
2011-02-17fix instcombine merging GEPs through a PHI to only make theChris Lattner
2011-02-17add is always integer, thanks to Frits for noticing this.Chris Lattner
2011-02-17Transform "A + B >= A + C" into "B >= C" if the adds do not wrap. Likewise f...Duncan Sands
2011-02-17preserve NUW/NSW when transforming add x,xChris Lattner
2011-02-15Spelling fix: consequtive -> consecutive.Duncan Sands
2011-02-15Fix 9216 - Endless loop in InstCombine pass.Nadav Rotem
2011-02-15Do not forget DebugLoc!Devang Patel
2011-02-15tidy up a bit.Chris Lattner
2011-02-15convert ConstantVector::get to use ArrayRef.Chris Lattner
2011-02-14revert my ConstantVector patch, it seems to have made the llvm-gccChris Lattner
2011-02-14Switch ConstantVector::get to use ArrayRef instead of a pointer+sizeChris Lattner
2011-02-13remove a now-unneccesary cast.Chris Lattner
2011-02-13implement instcombine folding for things like (x >> c) < 42.Chris Lattner
2011-02-13refactor some code out into a helper method.Chris Lattner
2011-02-11Also fold (A+B) == A -> B == 0 when the add is commuted.Benjamin Kramer
2011-02-11When lowering an inbounds gep, the intermediate adds can haveChris Lattner
2011-02-10implement the first part of PR8882: when lowering an inboundsChris Lattner
2011-02-10Enhance a bunch of transformations in instcombine to start generatingChris Lattner