aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/InstCombine/InstCombineCompares.cpp
AgeCommit message (Expand)Author
2011-02-18Add some transforms of the kind X-Y>X -> 0>Y which are valid when there is noDuncan Sands
2011-02-17Transform "A + B >= A + C" into "B >= C" if the adds do not wrap. Likewise f...Duncan Sands
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-10Enhance the "compare with shift" and "compare with div" Chris Lattner
2011-01-30Recognize and simplifyAnders Carlsson
2011-01-20At -O123 the early-cse pass is run before instcombine has run. According to myDuncan Sands
2011-01-16remove the AllowAggressive argument to FoldOpIntoPhi. It is forced to false ...Chris Lattner
2011-01-15fix typoChris Lattner
2011-01-15Catch ~x < cst just like ~x < ~y, we currently handle this throughChris Lattner
2011-01-11Remove dead variable, const-ref-ize an APInt.Owen Anderson
2011-01-11Fix a random missed optimization by making InstCombine more aggressive when d...Owen Anderson
2010-12-19recognize an unsigned add with overflow idiom into uadd.Chris Lattner
2010-12-19use IC.ReplaceInstUsesWith instead of a raw RAUW so that uses ofChris Lattner
2010-12-19generalize the sadd creation code to not require that theChris Lattner
2010-12-19fix another miscompile in the llvm.sadd formation logic: it wasn't Chris Lattner
2010-12-19fix a bug (possibly 8816) in the sadd forming xform: it isn'tChris Lattner
2010-12-19rework the code added in r122072 to pull it out to its ownChris Lattner
2010-12-17Reapply r121905 (automatic synthesis of @llvm.sadd.with.overflow) with a fix ...Owen Anderson
2010-12-16Speculatively revert commit 121905 since it looks like it might have broken theDuncan Sands
2010-12-15Add an InstCombine transform to recognize instances of manual overflow-safe a...Owen Anderson
2010-12-07PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() andJay Foad
2010-12-01PR5207: Rename overloaded APInt methods set(), clear(), flip() toJay Foad
2010-11-23duncan's spider sense was right, I completely reversed the conditionChris Lattner
2010-11-21optimize:Chris Lattner
2010-07-29PR7750: !CExpr->isNullValue() only properly computes whether CExpr is nonnullEli Friedman
2010-07-12Convert some tab stops into spaces.Duncan Sands
2010-06-24use ArgOperand APIGabor Greif
2010-05-27Teach instCombine to remove malloc+free if malloc's only uses are comparisonsDuncan Sands
2010-04-16Revert 101465, it broke internal OpenGL testing.Eric Christopher
2010-04-16reapply r101434Gabor Greif
2010-04-16back out r101423 and r101397, they break llvm-gcc self-host on darwin10Gabor Greif
2010-04-15reapply r101364, which has been backed out in r101368Gabor Greif
2010-04-15back out r101364, as it trips the linux nightlybot on some clang C++ testsGabor Greif
2010-04-15rotate CallInst operands, i.e. move callee to the backGabor Greif
2010-04-08Add variants of ult, ule, etc. which take a uint64_t RHS, for convenience.Dan Gohman
2010-03-05Fix PR6503. This turned into a much more interesting and nasty bug. Various Chris Lattner
2010-02-24Fix indentation.Dan Gohman
2010-02-16There are two ways of checking for a given type, for example isa<PointerType>(T)Duncan Sands
2010-02-15Uniformize the names of type predicates: rather than having isFloatTy andDuncan Sands
2010-02-01cleanups.Chris Lattner
2010-01-08tidy up some stuff duncan pointed out.Chris Lattner
2010-01-05optimize comparisons against cttz/ctlz/ctpop, patch by Alastair Lynn!Chris Lattner
2010-01-04Truncate GEP indexes larger than the pointer size down to pointer sizeChris Lattner
2010-01-04split instcombine of compares (visit[FI]Cmp) out toChris Lattner