aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/InstCombine
AgeCommit message (Expand)Author
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-17Whitespace fixes. No functionality change.Bill Wendling
2010-12-17Add vector versions of some existing scalar transforms to aid codegen in matc...Nate Begeman
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-15Move Sub simplifications and additional Add simplifications out ofDuncan Sands
2010-12-11Generalize the and-icmp-select instcombine further by allowing selects of the...Benjamin Kramer
2010-12-11Factor the (x & 2^n) ? 2^m : 0 instcombine into its own method and generalize itBenjamin Kramer
2010-12-09Really check that the bits that will become zero are actually already zeroDan Gohman
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-29Transform (extractvalue (load P), ...) to (load (gep P, 0, ...)) if the load ...Frits van Bommel
2010-11-23Rename SimplifyDistributed to the more meaningfull name SimplifyByFactorizing.Duncan Sands
2010-11-23The srem -> urem transform is not safe for any divisor that's not a power of ...Benjamin Kramer
2010-11-23InstCombine: Reduce "X shift (A srem B)" to "X shift (A urem B)" iff B is pos...Benjamin Kramer
2010-11-23Propagate LeftDistributes and RightDistributes into their only uses.Duncan Sands
2010-11-23Fix typo pointed out by Frits van Bommel and Marius Wachtler.Duncan Sands
2010-11-23Exploit distributive laws (eg: And distributes over Or, Mul over Add, etc) in aDuncan Sands
2010-11-23duncan's spider sense was right, I completely reversed the conditionChris Lattner
2010-11-22InstCombine: Implement X - A*-B -> X + A*B.Benjamin Kramer
2010-11-22If a GEP index simply advances by multiples of a type of zero size,Duncan Sands
2010-11-22Move the "gep undef" -> "undef" transform from instcombine toDuncan Sands
2010-11-21optimize:Chris Lattner
2010-11-17InstCombine: Add a missing irem identity (X % X -> 0).Benjamin Kramer
2010-11-17Move some those Xor simplifications which don't require creating newDuncan Sands
2010-11-14Teach InstructionSimplify about phi nodes. I chose to have it simplyDuncan Sands
2010-11-13Generalize the reassociation transform in SimplifyCommutative (now renamed toDuncan Sands
2010-11-10When checking that the necessary bits are zero inDale Johannesen
2010-11-01When folding away a (shl (shr)) pair, we need to check that the bits that wil...Owen Anderson
2010-10-29Clean up indentation and other whitespace.Bob Wilson
2010-10-29Remove trailing whitespace.Bob Wilson
2010-10-29Fix 80-column violation.Bob Wilson
2010-10-29Change instcombine's getShuffleMask to represent undef with negative values.Bob Wilson
2010-10-29Make instcombine a little more aggressive in combining vector shuffles.Bob Wilson
2010-10-27Teach InstCombine not to use Add and Neg on FP. PR 8490.Dale Johannesen
2010-10-25Fix a case where instcombine was stripping metadata (and alignment)Dan Gohman
2010-10-23SmallVectorize.Benjamin Kramer
2010-10-22Teach instcombine to set the alignment arguments for NEON load/store intrinsics.Bob Wilson
2010-10-19Get rid of static constructors for pass registration. Instead, every pass ex...Owen Anderson
2010-10-07Now with fewer extraneous semicolons!Owen Anderson
2010-10-07Add initialization routines to InstCombine.Owen Anderson
2010-10-01fix PR8267 - Instcombine shouldn't optimizer away volatile memcpy's.Chris Lattner
2010-09-28Removed a bunch of unnecessary target_link_libraries.Oscar Fuentes
2010-09-13Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally."Michael J. Spencer
2010-09-13Re-apply r113679, which was reverted in r113720, which added a paid of new in...Owen Anderson
2010-09-12Revert 113679, it was causing an infinite loop in a testcase that I've sentEric Christopher