Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |||||
* | When checking whether the special handling for an addrec increment which | Dan Gohman | 2010-04-26 | 1 | -2/+1 | |
| | | | | | | | | | doesn't dominate the header is needed, don't check whether the increment expression has computable loop evolution. While the operands of an addrec are required to be loop-invariant, they're not required to dominate any part of the loop. This fixes PR6914. llvm-svn: 102389 | |||||
* | Fix a bunch of namespace polution. | Dan Gohman | 2010-04-15 | 1 | -0/+4 | |
| | | | | llvm-svn: 101376 | |||||
* | When emitting code for an add, don't force a SCEVUnknown wrapper around | Dan Gohman | 2010-04-09 | 1 | -3/+4 | |
| | | | | | | | a hoisted intermediate result if the intermediate result isn't an Instruction. llvm-svn: 100884 | |||||
* | Add a comment. | Dan Gohman | 2010-04-09 | 1 | -1/+2 | |
| | | | | llvm-svn: 100874 | |||||
* | Generalize IVUsers to track arbitrary expressions rather than expressions | Dan Gohman | 2010-04-07 | 1 | -7/+10 | |
| | | | | | | | | | | | | | | | explicitly split into stride-and-offset pairs. Also, add the ability to track multiple post-increment loops on the same expression. This refines the concept of "normalizing" SCEV expressions used for to post-increment uses, and introduces a dedicated utility routine for normalizing and denormalizing expressions. This fixes the expansion of expressions which are post-increment users of more than one loop at a time. More broadly, this takes LSR another step closer to being able to reason about more than one loop at a time. llvm-svn: 100699 | |||||
* | Don't back past debug info intrinsics; SCEVExpander's strategy | Dan Gohman | 2010-03-23 | 1 | -12/+1 | |
| | | | | | | | for ignoring debug info intrinsics everywhere else is to advance past them, and it needs to be consistent. llvm-svn: 99332 | |||||
* | Fix more places to more thoroughly ignore debug intrinsics. This fixes | Dan Gohman | 2010-03-19 | 1 | -5/+13 | |
| | | | | | | | | use-before-def errors in SCEVExpander-produced code in sqlite3 when debug info with optimization is enabled, though the testcases for this are dependent on use-list order. llvm-svn: 99001 | |||||
* | Reapply r98755 with a thinko which miscompiled gengtype fixed. | Dan Gohman | 2010-03-18 | 1 | -18/+10 | |
| | | | | llvm-svn: 98793 | |||||
* | Revert 98755, which may be causing trouble. | Dan Gohman | 2010-03-17 | 1 | -10/+18 | |
| | | | | llvm-svn: 98762 | |||||
* | Change SCEVNAryExpr's operand array from a SmallVector to a plain | Dan Gohman | 2010-03-17 | 1 | -18/+10 | |
| | | | | | | | | | | pointer and length, and allocate the arrays in ScalarEvolution's BumpPtrAllocator, so that they get released when their owning SCEV gets released. SCEVs are immutable, so they don't need to worry about operand array resizing. This fixes a memory leak reported in PR6637. llvm-svn: 98755 | |||||
* | Another place where debug info affected codegen. | Dale Johannesen | 2010-03-09 | 1 | -0/+2 | |
| | | | | llvm-svn: 98026 | |||||
* | Fix another case where LSR was affected by debug info. | Dale Johannesen | 2010-03-06 | 1 | -1/+12 | |
| | | | | llvm-svn: 97865 | |||||
* | Fix a case where LSR is sensitive to debug info. | Dale Johannesen | 2010-03-05 | 1 | -0/+9 | |
| | | | | llvm-svn: 97830 | |||||
* | Make SCEVExpander and LSR more aggressive about hoisting expressions out | Dan Gohman | 2010-03-03 | 1 | -47/+224 | |
| | | | | | | of loops. llvm-svn: 97642 | |||||
* | Revert r97580; that's not the right way to fix this. | Dan Gohman | 2010-03-03 | 1 | -121/+31 | |
| | | | | llvm-svn: 97639 | |||||
* | When expanding an expression such as (A + B + C + D), sort the operands | Dan Gohman | 2010-03-02 | 1 | -31/+121 | |
| | | | | | | | by loop depth and emit loop-invariant subexpressions outside of loops. This speeds up MultiSource/Applications/viterbi and others. llvm-svn: 97580 | |||||
* | Non-affine post-inc SCEV expansions have more code which must be | Dan Gohman | 2010-03-02 | 1 | -1/+1 | |
| | | | | | | | emitted after the increment. Make sure the insert position reflects this. This fixes PR6453. llvm-svn: 97537 | |||||
* | Spelling fixes. | Dan Gohman | 2010-03-01 | 1 | -4/+4 | |
| | | | | llvm-svn: 97453 |