aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Scalar/LoopStrengthReduce.cpp
AgeCommit message (Expand)Author
2012-01-07Enable redundant phi elimination after LSR.Andrew Trick
2012-01-07LSR: Don't optimize loops if an outer loop has no preheader.Andrew Trick
2012-01-07LSR: run DeleteDeadPhis before replaceCongruentPhis.Andrew Trick
2012-01-07Extended replaceCongruentPhis to handle mixed phi types.Andrew Trick
2011-12-13Cleanup. Clarify LSRInstance public methods.Andrew Trick
2011-12-10LSR: ignore strides in outer loops.Andrew Trick
2011-12-06LSR: prune undesirable formulae early.Andrew Trick
2011-11-26Move code into anonymous namespaces.Benjamin Kramer
2011-11-15Fix MSVC warnings by adding a cast. Nadav Rotem
2011-10-13Avoid undefined behavior in negation in LSR. Patch by Ahmed Charles.Eli Friedman
2011-10-11Add experimental -enable-lsr-phielim option.Andrew Trick
2011-10-07LSR should only reuse phis that match its formula.Andrew Trick
2011-10-04LSR should avoid redundant edge splitting.Andrew Trick
2011-09-29typo + pastoAndrew Trick
2011-09-29LSR: rewrite inner loops only.Andrew Trick
2011-09-27Disable LSR retry by default.Andrew Trick
2011-09-26LSR, one of the new Cost::isLoser() checks did not get merged in the previous...Andrew Trick
2011-09-26LSR cost metric minor fix and verification.Andrew Trick
2011-09-23LSR minor bug fix in RateRegister.Andrew Trick
2011-08-25LSR wants to split the landing pad's critical edge. Let it do it, but use theBill Wendling
2011-08-25When inserting new instructions, use getFirstInsertionPt instead ofBill Wendling
2011-08-24Skip the landingpad instruction when determining the insertion point.Bill Wendling
2011-07-21LSR, correct fix for rdar://9786536. Silly casting bug.Andrew Trick
2011-07-21LSR must sometimes sign-extend before generating double constants.Andrew Trick
2011-07-21LSR crashes on an empty IVUsers list.Andrew Trick
2011-07-18land David Blaikie's patch to de-constify Type, with a few tweaks.Chris Lattner
2011-07-15start using the new helper methods a bit.Chris Lattner
2011-06-28SCEVExpander: give new insts a name that identifies the reponsible pass.Andrew Trick
2011-06-21IVUsers no longer needs to record the phis.Andrew Trick
2011-05-23When checking for signed multiplication overflow, watch out for INT_MIN and -1.Dan Gohman
2011-05-20indvars: Prototyping Sign/ZeroExtend elimination without canonical IVs.Andrew Trick
2011-05-18When forming an ICmpZero LSRUse, normalize the non-IV operandDan Gohman
2011-05-03Add an unfolded offset field to LSR's Formula record. This is used toDan Gohman
2011-04-15Fix a ton of comment typos found by codespell. Patch byChris Lattner
2011-04-13Reapply r129401 with patch for clang.Bill Wendling
2011-04-12Revert r129401 for now. Clang is using the old way of doing things.Bill Wendling
2011-04-12Remove the unaligned load intrinsics in favor of using native unaligned loads.Bill Wendling
2011-03-30Remove PHINode::reserveOperandSpace(). Instead, add a parameter toJay Foad
2011-03-30(Almost) always call reserveOperandSpace() on newly created PHINodes.Jay Foad
2011-03-14Added SCEV::NoWrapFlags to manage unsigned, signed, and self wrapAndrew Trick
2011-02-10If we can't avoid running loop-simplify twice for now, at least avoid runningCameron Zwarich
2011-02-10Revert this in an attempt to bring the builders back.Eric Christopher
2011-02-10Turn this pass ordering:Cameron Zwarich
2011-02-08Don't split any loop backedges, including backedges of loops other thanDan Gohman
2011-01-18Remove code for updating dominance frontiers and some outdated references toCameron Zwarich
2011-01-02split dom frontier handling stuff out to its own DominanceFrontier header,Chris Lattner
2010-11-17Move SCEV::dominates and properlyDominates to ScalarEvolution.Dan Gohman
2010-11-17Move SCEV::isLoopInvariant and hasComputableLoopEvolution to be memberDan Gohman
2010-10-19Passes do not need to recursively initialize passes that they preserve, ifOwen Anderson
2010-10-19Get rid of static constructors for pass registration. Instead, every pass ex...Owen Anderson