summaryrefslogtreecommitdiff
path: root/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit message (Expand)AuthorAge
* PR9998: ashr exact %x, 31 is not equivalent to sdiv exact %x, -2147483648.Eli Friedman2011-05-25
* More instcombine simplifications towards better debug locations.Eli Friedman2011-05-18
* Avoid combining GEPs that might overflow at runtime.Stuart Hastings2011-05-14
* PR9838: Fix transform introduced in r127064 to not trigger when only one side...Eli Friedman2011-05-05
* Transform: "icmp eq (trunc (lshr(X, cst1)), cst" to "icmp (and X, mask), cst"Chris Lattner2011-04-26
* some random cleanups, no functionality change.Chris Lattner2011-04-26
* Fix a ton of comment typos found by codespell. Patch byChris Lattner2011-04-15
* InstCombine: APFloat can't perform arithmetic on PPC double doubles, don't ev...Benjamin Kramer2011-03-31
* InstCombine: Fix transform to use the swapped predicate.Benjamin Kramer2011-03-31
* InstCombine: fold fcmp (fneg x), (fneg y) -> fcmp x, yBenjamin Kramer2011-03-31
* InstCombine: fold fcmp pred (fneg x), C -> fcmp swap(pred) x, -CBenjamin Kramer2011-03-31
* InstCombine: Shrink "fcmp (fpext x), C" to "fcmp x, C" if C can be losslessly...Benjamin Kramer2011-03-31
* InstCombine: fold fcmp (fpext x), (fpext y) -> fcmp x, y.Benjamin Kramer2011-03-31
* Reorder comments to put them the right way around.Nick Lewycky2011-03-08
* ConstantInt has some getters which return ConstantInt's or ConstantVector's ofNick Lewycky2011-03-06
* Thread comparisons over udiv/sdiv/ashr/lshr exact and lshr nuw/nsw wheneverNick Lewycky2011-03-05
* Try once again to optimize "icmp (srem X, Y), Y" by turning the comparison intoNick Lewycky2011-03-05
* srem doesn't actually have the same resulting sign as its numerator, you couldNick Lewycky2011-02-28
* Teach InstCombine to fold "(shr exact X, Y) == 0" --> X == 0, fixing #1 fromNick Lewycky2011-02-28
* The sign of an srem instruction is the sign of its dividend (the firstNick Lewycky2011-02-28
* Add some transforms of the kind X-Y>X -> 0>Y which are valid when there is noDuncan Sands2011-02-18
* Transform "A + B >= A + C" into "B >= C" if the adds do not wrap. Likewise f...Duncan Sands2011-02-17
* remove a now-unneccesary cast.Chris Lattner2011-02-13
* implement instcombine folding for things like (x >> c) < 42.Chris Lattner2011-02-13
* refactor some code out into a helper method.Chris Lattner2011-02-13
* Also fold (A+B) == A -> B == 0 when the add is commuted.Benjamin Kramer2011-02-11
* Enhance the "compare with shift" and "compare with div" Chris Lattner2011-02-10
* Recognize and simplifyAnders Carlsson2011-01-30
* At -O123 the early-cse pass is run before instcombine has run. According to myDuncan Sands2011-01-20
* remove the AllowAggressive argument to FoldOpIntoPhi. It is forced to false ...Chris Lattner2011-01-16
* fix typoChris Lattner2011-01-15
* Catch ~x < cst just like ~x < ~y, we currently handle this throughChris Lattner2011-01-15
* Remove dead variable, const-ref-ize an APInt.Owen Anderson2011-01-11
* Fix a random missed optimization by making InstCombine more aggressive when d...Owen Anderson2011-01-11
* recognize an unsigned add with overflow idiom into uadd.Chris Lattner2010-12-19
* use IC.ReplaceInstUsesWith instead of a raw RAUW so that uses ofChris Lattner2010-12-19
* generalize the sadd creation code to not require that theChris Lattner2010-12-19
* fix another miscompile in the llvm.sadd formation logic: it wasn't Chris Lattner2010-12-19
* fix a bug (possibly 8816) in the sadd forming xform: it isn'tChris Lattner2010-12-19
* rework the code added in r122072 to pull it out to its ownChris Lattner2010-12-19
* Reapply r121905 (automatic synthesis of @llvm.sadd.with.overflow) with a fix ...Owen Anderson2010-12-17
* Speculatively revert commit 121905 since it looks like it might have broken theDuncan Sands2010-12-16
* Add an InstCombine transform to recognize instances of manual overflow-safe a...Owen Anderson2010-12-15
* PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() andJay Foad2010-12-07
* PR5207: Rename overloaded APInt methods set(), clear(), flip() toJay Foad2010-12-01
* duncan's spider sense was right, I completely reversed the conditionChris Lattner2010-11-23
* optimize:Chris Lattner2010-11-21
* PR7750: !CExpr->isNullValue() only properly computes whether CExpr is nonnullEli Friedman2010-07-29
* Convert some tab stops into spaces.Duncan Sands2010-07-12
* use ArgOperand APIGabor Greif2010-06-24