| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Cleanup comments and argument types related to my previous ↵ | Andrew Trick | 2012-01-07 | 1 | -4/+5 | |
| | | | | | | | replaceCongruentPhis checkin. llvm-svn: 147709 | |||||
| * | Extended replaceCongruentPhis to handle mixed phi types. | Andrew Trick | 2012-01-07 | 1 | -13/+61 | |
| | | | | | llvm-svn: 147707 | |||||
| * | Expose isNonConstantNegative to users of ScalarEvolution. | Andrew Trick | 2012-01-07 | 1 | -20/+6 | |
| | | | | | llvm-svn: 147700 | |||||
| * | SCEVExpander: hoistStep should check strict dominance. | Andrew Trick | 2012-01-06 | 1 | -1/+1 | |
| | | | | | llvm-svn: 147683 | |||||
| * | Fix SCEVExpander to handle loops with no preheader when LSR gives it a | Andrew Trick | 2012-01-02 | 1 | -0/+6 | |
| | | | | | | | | | "phony" insertion point. Fixes rdar://10619599: "SelectionDAGBuilder shouldn't visit PHI nodes!" assert llvm-svn: 147439 | |||||
| * | LSR: Fix another corner case in expansion of postinc users. | Andrew Trick | 2011-12-20 | 1 | -0/+14 | |
| | | | | | | | Fixes PR11571: Instruction does not dominate all uses llvm-svn: 146950 | |||||
| * | LSR: Fold redundant bitcasts on-the-fly. | Andrew Trick | 2011-12-14 | 1 | -3/+8 | |
| | | | | | llvm-svn: 146597 | |||||
| * | LSR: handle the expansion of phi operands that use postinc forms of the IV. | Andrew Trick | 2011-11-30 | 1 | -36/+68 | |
| | | | | | | | Fixes PR11431: SCEVExpander::expandAddRecExprLiterally(const llvm::SCEVAddRecExpr*): Assertion `(!isa<Instruction>(Result) || SE.DT->dominates(cast<Instruction>(Result), Builder.GetInsertPoint())) && "postinc expansion does not dominate use"' failed. llvm-svn: 145482 | |||||
| * | Fix SCEVExpander assert during LSR: "argument of incompatible type". | Andrew Trick | 2011-10-15 | 1 | -6/+5 | |
| | | | | | | | | | | Just because we're dealing with a GEP doesn't mean we can assert the SCEV has a pointer type. The fix is simply to ignore the SCEV pointer type, which we really didn't need. Fixes PR11138 webkit crash. llvm-svn: 142058 | |||||
| * | Reapply r141870, SCEV expansion of post-inc. | Andrew Trick | 2011-10-13 | 1 | -2/+14 | |
| | | | | | | | | Speculatively reapply to see if this test case still crashes on linux. I may have fixed it in my last checkin. llvm-svn: 141895 | |||||
| * | Revert r141870. The test case crashes on linux with data corruption. A ↵ | Andrew Trick | 2011-10-13 | 1 | -14/+2 | |
| | | | | | | | deeper issue was exposed. llvm-svn: 141873 | |||||
| * | LSR: Reuse the post-inc expansion of expressions. | Andrew Trick | 2011-10-13 | 1 | -2/+14 | |
| | | | | | | | | | This avoids unnecessary expansion of expressions and allows the SCEV expander to work on expression DAGs, not just trees. Fixes PR11090. llvm-svn: 141870 | |||||
| * | Move replaceCongruentIVs into SCEVExapander and bias toward "expanded" | Andrew Trick | 2011-10-11 | 1 | -0/+100 | |
| | | | | | | | | | | | | IVs. Indvars previously chose randomly between congruent IVs. Now it will bias the decision toward IVs that SCEVExpander likes to create. This was not done to fix any problem, it's just a welcome side effect of factoring code. llvm-svn: 141633 | |||||
| * | Add an extra safety check in front of the optimization in r141442. | Andrew Trick | 2011-10-08 | 1 | -0/+9 | |
| | | | | | llvm-svn: 141470 | |||||
| * | LSR should only reuse phis that match its formula. | Andrew Trick | 2011-10-07 | 1 | -61/+113 | |
| | | | | | | | Fixes rdar://problem/5064068 llvm-svn: 141442 | |||||
| * | Stop emitting instructions with the name "tmp" they eat up memory and have ↵ | Benjamin Kramer | 2011-09-27 | 1 | -7/+7 | |
| | | | | | | | | | to be uniqued, without any benefit. If someone prefers %tmp42 to %42, run instnamer. llvm-svn: 140634 | |||||
| * | Skip the landingpad instruction when determining the insertion point. | Bill Wendling | 2011-08-24 | 1 | -3/+7 | |
| | | | | | llvm-svn: 138481 | |||||
| * | Use the getFirstInsertionPt() method instead of getFirstNonPHI + an 'isa<>' | Bill Wendling | 2011-08-16 | 1 | -5/+2 | |
| | | | | | | | check for a LandingPadInst. llvm-svn: 137745 | |||||
| * | A few places where we want to skip the landingpad instruction for insertion. | Bill Wendling | 2011-08-16 | 1 | -1/+4 | |
| | | | | | llvm-svn: 137712 | |||||
| * | Convert IRBuilder::CreateGEP and IRBuilder::CreateInBoundsGEP to use | Jay Foad | 2011-07-22 | 1 | -2/+1 | |
| | | | | | | | ArrayRef. llvm-svn: 135761 | |||||
| * | Convert ConstantExpr::getGetElementPtr and | Jay Foad | 2011-07-21 | 1 | -1/+1 | |
| | | | | | | | ConstantExpr::getInBoundsGetElementPtr to use ArrayRef. llvm-svn: 135673 | |||||
| * | land David Blaikie's patch to de-constify Type, with a few tweaks. | Chris Lattner | 2011-07-18 | 1 | -32/+32 | |
| | | | | | llvm-svn: 135375 | |||||
| * | Silence compiler warnings. | Benjamin Kramer | 2011-07-16 | 1 | -5/+4 | |
| | | | | | llvm-svn: 135358 | |||||
| * | Fix SCEVEXpander to handle arbitrary phi expansion. Includes two | Andrew Trick | 2011-07-16 | 1 | -7/+18 | |
| | | | | | | | | related bug fixes and corresponding assertions for uninitialized data and missing NULL check. Test cases will be included with the new LFTR. llvm-svn: 135333 | |||||
| * | Preserve debug loc. | Devang Patel | 2011-07-05 | 1 | -1/+1 | |
| | | | | | llvm-svn: 134441 | |||||
| * | Cleanup. Fix a stupid variable name. | Andrew Trick | 2011-06-28 | 1 | -3/+3 | |
| | | | | | llvm-svn: 133995 | |||||
| * | SCEVExpander: give new insts a name that identifies the reponsible pass. | Andrew Trick | 2011-06-28 | 1 | -3/+4 | |
| | | | | | llvm-svn: 133992 | |||||
| * | New binops need debug loc. | Devang Patel | 2011-06-22 | 1 | -1/+3 | |
| | | | | | llvm-svn: 133642 | |||||
| * | Remove PHINode::reserveOperandSpace(). Instead, add a parameter to | Jay Foad | 2011-03-30 | 1 | -4/+3 | |
| | | | | | | | PHINode::Create() giving the (known or expected) number of operands. llvm-svn: 128537 | |||||
| * | (Almost) always call reserveOperandSpace() on newly created PHINodes. | Jay Foad | 2011-03-30 | 1 | -6/+8 | |
| | | | | | llvm-svn: 128535 | |||||
| * | Added SCEV::NoWrapFlags to manage unsigned, signed, and self wrap | Andrew Trick | 2011-03-14 | 1 | -12/+25 | |
| | | | | | | | | | | properties. Added the self-wrap flag for SCEV::AddRecExpr. A slew of temporary FIXMEs indicate the intention of the no-self-wrap flag without changing behavior in this revision. llvm-svn: 127590 | |||||
| * | When decling to reuse existing expressions that involve casts, ignore | Dan Gohman | 2011-03-04 | 1 | -1/+1 | |
| | | | | | | | | bitcasts, which are really no-ops here. This fixes slowdowns on MultiSource/Applications/aha and others. llvm-svn: 127031 | |||||
| * | Don't re-use existing addrec expansions if they contain casts. | Dan Gohman | 2011-03-02 | 1 | -1/+2 | |
| | | | | | | | This fixes PR9259. llvm-svn: 126812 | |||||
| * | Introduce memoization for ScalarEvolution dominates and properlyDominates | Dan Gohman | 2010-11-18 | 1 | -16/+27 | |
| | | | | | | | queries, and SCEVExpander getRelevantLoop queries. llvm-svn: 119595 | |||||
| * | Move SCEV::dominates and properlyDominates to ScalarEvolution. | Dan Gohman | 2010-11-17 | 1 | -2/+2 | |
| | | | | | llvm-svn: 119570 | |||||
| * | Move SCEV::isLoopInvariant and hasComputableLoopEvolution to be member | Dan Gohman | 2010-11-17 | 1 | -2/+2 | |
| | | | | | | | | functions of ScalarEvolution, in preparation for memoization and other optimizations. llvm-svn: 119562 | |||||
| * | Fix SCEVExpander::visitAddRecExpr so that it remembers the induction variable | Dan Gohman | 2010-07-26 | 1 | -24/+21 | |
| | | | | | | | | | it inserted rather than using LoopInfo::getCanonicalInductionVariable to rediscover it, since that doesn't work on non-canonical loops. This fixes infinite recurrsion on such loops; PR7562. llvm-svn: 109419 | |||||
| * | Simplify this code; LoopInfo::getCanonicalInductionVariable will only | Dan Gohman | 2010-07-20 | 1 | -3/+6 | |
| | | | | | | | find integer induction variables. llvm-svn: 108853 | |||||
| * | Make getOrInsertCanonicalInductionVariable guarantee that its | Dan Gohman | 2010-07-20 | 1 | -2/+2 | |
| | | | | | | | result is a PHINode*. llvm-svn: 108852 | |||||
| * | Fix the order that SCEVExpander considers add operands in so that | Dan Gohman | 2010-07-15 | 1 | -2/+14 | |
| | | | | | | | | it doesn't miss an opportunity to form a GEP, regardless of the relative loop depths of the operands. This fixes rdar://8197217. llvm-svn: 108475 | |||||
| * | remove useless cast and fix typos in comment | Gabor Greif | 2010-07-09 | 1 | -3/+3 | |
| | | | | | llvm-svn: 107989 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -3/+5 | |
| | | | | | llvm-svn: 107988 | |||||
| * | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -5/+7 | |
| | | | | | llvm-svn: 107976 | |||||
| * | Simplify. | Dan Gohman | 2010-06-30 | 1 | -2/+1 | |
| | | | | | llvm-svn: 107248 | |||||
| * | Use A.append(...) instead of A.insert(A.end(), ...) when A is a | Dan Gohman | 2010-06-21 | 1 | -4/+4 | |
| | | | | | | | SmallVector, and other SmallVector simplifications. llvm-svn: 106452 | |||||
| * | Restore a call to rememberInstruction which was accidentally dropped | Dan Gohman | 2010-06-19 | 1 | -0/+1 | |
| | | | | | | | in refactoring. llvm-svn: 106398 | |||||
| * | Factor out duplicated code for reusing and inserting casts into | Dan Gohman | 2010-06-19 | 1 | -54/+46 | |
| | | | | | | | a helper function. llvm-svn: 106388 | |||||
| * | A few more places where SCEVExpander bits need to skip over debug intrinsics | Jim Grosbach | 2010-06-16 | 1 | -3/+4 | |
| | | | | | | | when iterating through instructions. Yet more work for rdar://7797940 llvm-svn: 106149 | |||||
| * | LSR needs to remember inserted instructions even in postinc mode, because | Dan Gohman | 2010-06-05 | 1 | -1/+3 | |
| | | | | | | | | there could be multiple subexpressions within a single expansion which require insert point adjustment. This fixes PR7306. llvm-svn: 105510 | |||||
| * | Use getConstant instead of getIntegerSCEV. The two are basically the | Dan Gohman | 2010-05-03 | 1 | -13/+13 | |
| | | | | | | | same, now that getConstant has overloads consistent with ConstantInt::get. llvm-svn: 102965 | |||||

