aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/InstCombine/InstructionCombining.cpp
AgeCommit message (Expand)Author
2011-09-29Clean up uses of switch instructions so they are not dependent on the operand...Eli Friedman
2011-09-04Use Duncan's patch to delete the instructions in reverse order (minus the lan...Bill Wendling
2011-09-02Update comments to reflect reality.Bill Wendling
2011-09-01Reduce indentation. No functionality change.Bill Wendling
2011-09-01Change worklist driven deletion to be an iterative process.Bill Wendling
2011-09-01Resubmit with fix. Properly remove the instructions except for landingpad, wh...Bill Wendling
2011-09-01Submitted this too early.Bill Wendling
2011-09-01Don't DCE the landingpad instruction.Bill Wendling
2011-08-17Revert r137655. There is some question about whether the 'landingpad'Bill Wendling
2011-08-16Use the getFirstInsertionPt() method instead of getFirstNonPHI + an 'isa<>'Bill Wendling
2011-08-15Don't sink the instruction to before a landingpad instruction.Bill Wendling
2011-08-15Update instcombine for atomic load/store.Eli Friedman
2011-08-15Duncan pointed out that the LandingPadInst might read memory. (It might alsoBill Wendling
2011-08-15Don't try to sink the landingpad instruction. It's immobile.Bill Wendling
2011-08-14This transform is not safe. Thanks to Eli for pointing that out!Nick Lewycky
2011-08-14Don't attempt to add 'nsw' when intermediate instructions had no such guarantee.Nick Lewycky
2011-08-14Teach instcombine to preserve the nsw bit by doing an after-the-fact analysisNick Lewycky
2011-08-03Small cleanups:Nick Lewycky
2011-08-03Fix logical error when detecting lifetime intrinsics.Nick Lewycky
2011-08-02Teach InstCombine that lifetime intrincs aren't a real user on the result of aNick Lewycky
2011-07-31Add a small gep optimization I noticed was missing while reading some IL.Rafael Espindola
2011-07-25Convert GetElementPtrInst to use ArrayRef.Jay Foad
2011-07-22Convert IRBuilder::CreateGEP and IRBuilder::CreateInBoundsGEP to useJay Foad
2011-07-19Convert SimplifyGEPInst to use ArrayRef.Jay Foad
2011-07-18Migrate LLVM and Clang to use the new makeArrayRef(...) functions where previ...Frits van Bommel
2011-07-18land David Blaikie's patch to de-constify Type, with a few tweaks.Chris Lattner
2011-07-13Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef.Jay Foad
2011-07-11Don't duplicate the work done by a gep into a "bitcast" if the gep hasRafael Espindola
2011-05-27Final step of instcombine debuginfo; switch a couple more places over to Inse...Eli Friedman
2011-05-24Make instcombine O(N) instead of O(N^2) in code where the same simplifiable c...Eli Friedman
2011-05-18More instcombine cleanup, towards improving debug line info.Eli Friedman
2011-05-18Start trying to make InstCombine preserve more debug info. The idea here is ...Eli Friedman
2011-05-18Use ReplaceInstUsesWith instead of replaceAllUsesWith where appropriate in in...Eli Friedman
2011-04-27Stop trying to have instcombine preserve LCSSA form: this was notDuncan Sands
2011-04-05InstCombine optimizes gep(bitcast(x)) even when the bitcasts casts away addressNadav Rotem
2011-03-30Remove PHINode::reserveOperandSpace(). Instead, add a parameter toJay Foad
2011-03-28Make more use of PHINode::getNumIncomingValues().Jay Foad
2011-03-17Try to not lose variable's debug info during instcombine.Devang Patel
2011-02-15Do not forget DebugLoc!Devang Patel
2011-02-02Conservatively, clear optional flags, such as nsw, when performingDan Gohman
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-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
2010-12-22Add a generic expansion transform: A op (B op' C) -> (A op B) op' (A op C)Duncan Sands
2010-12-22Add some statistics, good for understanding how much more powerfulDuncan Sands