aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms/InstCombine
AgeCommit message (Expand)Author
2009-01-16Fix PR3335 by not turning a store to one address space into a store to another.Chris Lattner
2009-01-16Clean up previous cast optimization a bit. Also make zext elimination a bit m...Evan Cheng
2009-01-15- Teach CanEvaluateInDifferentType of this xform: sext (zext ty1), ty2 -> zex...Evan Cheng
2009-01-13Make instcombine ensure that all allocas are explicitly aligned at atDan Gohman
2009-01-09Implement rdar://6480391, extending of equality icmp's to avoid a truncation.Chris Lattner
2009-01-09Fix part 3/2 of PR3290, making instcombine zap (gep(bitcast)) when possible.Chris Lattner
2009-01-08ValueTracker can't assume that an alloca with no specified alignment Chris Lattner
2009-01-05make m_ConstantInt(int64_t) safely match ConstantInt's that are larger than i64.Chris Lattner
2009-01-04XFAIL this test. The xform was removed.Bill Wendling
2009-01-01Add transformation:Bill Wendling
2008-12-18Make all the vector elements positive in an srem of constant vector.Nick Lewycky
2008-12-01Use m_Specific() instead of double matching.Bill Wendling
2008-12-01simplify these patterns using m_Specific. No need to grep for Chris Lattner
2008-12-01Teach inst combine to merge GEPs through PHIs. This is reallyChris Lattner
2008-12-01Implement ((A|B)&1)|(B&-2) -> (A&1) | B transformation. This also takes care ofBill Wendling
2008-11-30Add instruction combining for ((A&~B)|(~A&B)) -> A^B and all permutations.Bill Wendling
2008-11-30Implement (A&((~A)|B)) -> A&B transformation in the instruction combiner. ThisBill Wendling
2008-11-30getSExtValue() doesn't work for ConstantInts with bitwidth > 64 bits. Use allBill Wendling
2008-11-30Strengthen check for div inst-combining.Bill Wendling
2008-11-30Instcombine was illegally transforming -X/C into X/-C when either X or CBill Wendling
2008-11-27Chris prefers icmp/select over udiv!Nick Lewycky
2008-11-27Add a couple of missed optimizations on integer vectors. Multiply and divideNick Lewycky
2008-11-21Optimize (x/y)*y into x-(x%y) in general. Div and rem are about the same, andNick Lewycky
2008-11-16Handle the case where there is no "not". It is possible it got Chris Lattner
2008-11-16make this actually test what it is trying to.Chris Lattner
2008-11-09If the LHS of the FCMP is coming from a UIToFP instruction, then we don't wantBill Wendling
2008-11-02Fix demanded bits analysis with srem by negative number. Based on a patchNick Lewycky
2008-11-02Fix this recently moved code to use the correct type. CI is now aDan Gohman
2008-10-30Canonicalize sext(i1) to i1?-1:0, and update various instcombineDan Gohman
2008-10-28(A & sext(C)) | (B & ~sext(C) -> C ? A : BDan Gohman
2008-10-24Don't try to create a mask when we don't need one. Fixes a crash.Nick Lewycky
2008-10-15Teach instcombine's visitLoad to scan back several instructionsDan Gohman
2008-10-14Combine (fcmp cc0 x, y) | (fcmp cc1 x, y) into a single fcmp when possible.Evan Cheng
2008-10-14- Somehow I forgot about one / une.Evan Cheng
2008-10-14Optimize anding of two fcmp into a single fcmp if the operands are the same. ...Evan Cheng
2008-10-11Fix PR2697 by rewriting the '(X / pos) op neg' logic. This also changesChris Lattner
2008-10-05rewrite bswap matching to be more general, allowing arbitraryChris Lattner
2008-09-30Fix misoptimization of: xor i1 (icmp eq (X, C1), icmp s[lg]t (X, C2))Nick Lewycky
2008-09-16Improve instcombine's handling of integer min and max in two ways:Dan Gohman
2008-09-11On 64-bit targets, change 32-bit getelementptr indices to be 64-bitDan Gohman
2008-09-11Fix a vectorshuffle instcombine bug introduced by r55995.Dan Gohman
2008-09-10Fix an icmp+sdiv optimization to check for and handle an overflowDan Gohman
2008-09-09Make SimplifyDemandedVectorElts simplify vectors with multipleDan Gohman
2008-09-03Don't crash when trying to constant fold a vector with some elements that can'tNick Lewycky
2008-08-21Revert r54876 r54877 r54906 and r54907. Evan found that these caused a 20%Nick Lewycky
2008-08-17Consider the case where xor by -1 and xor by 128 have been combined already toNick Lewycky
2008-08-17Xor'ing both sides of icmp by sign-bit is equivalent to swapping signedness ofNick Lewycky
2008-08-16Remove GCSE and LoadVN from the testsuite.Owen Anderson
2008-08-13Fix a bogus srem rule - a negative value srem'd by a power-of-2Dan Gohman
2008-08-11Implement support for simplifying vector comparisons by 0.0 and 1.0 like weChris Lattner