aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/InstCombine
AgeCommit message (Expand)Author
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
2011-02-10Enhance the "compare with shift" and "compare with div" Chris Lattner
2011-02-10more cleanups, notably bitcast isn't used for "signed to unsigned type Chris Lattner
2011-02-10A bunch of cleanups and simplifications using the new PatternMatch predicatesChris Lattner
2011-02-10teach SimplifyDemandedBits that exact shifts demand the bits they Chris Lattner
2011-02-09Teach instsimplify some tricks about exact/nuw/nsw shifts.Chris Lattner
2011-02-09Rework InstrTypes.h so to reduce the repetition around the NSW/NUW/ExactChris Lattner
2011-02-06enhance vmcore to know that udiv's can be exact, and add a trivialChris Lattner
2011-02-02Conservatively, clear optional flags, such as nsw, when performingDan Gohman
2011-01-30Recognize and simplifyAnders Carlsson
2011-01-29Call SimplifyFDivInst() in InstCombiner::visitFDiv().Frits van Bommel
2011-01-29Move InstCombine's knowledge of fdiv to SimplifyInstruction().Frits van Bommel
2011-01-28My auto-simplifier noticed that ((X/Y)*Y)/Y occurs several times in SPECDuncan Sands
2011-01-28Fold select + select where both selects are on the same condition.Nick Lewycky
2011-01-23Null initialize a few variables flagged byTed Kremenek
2011-01-21Just because we have determined that an (fcmp | fcmp) is true for A < B,Owen Anderson
2011-01-21fix PR9013, an infinite loop in instcombine.Chris Lattner
2011-01-21update obsolete comment.Chris Lattner
2011-01-21Don't try to pull vector bitcasts that change the number of elements throughNick Lewycky
2011-01-20At -O123 the early-cse pass is run before instcombine has run. According to myDuncan Sands
2011-01-16remove a dead check, this was needed before we had an explicit veto on uses o...Chris Lattner
2011-01-16enhance FoldOpIntoPhi in instcombine to try harder when a phi hasChris Lattner
2011-01-16remove the AllowAggressive argument to FoldOpIntoPhi. It is forced to false ...Chris Lattner
2011-01-16more cleanups: use the IR builder.Chris Lattner
2011-01-16tidy up code.Chris Lattner
2011-01-15implement an instcombine xform that canonicalizes casts outside of and-with-c...Chris Lattner
2011-01-15one more instcombine variant that is needed to work with future changes,Chris Lattner