| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 133995
|
|
|
|
| |
llvm-svn: 133992
|
|
|
|
| |
llvm-svn: 133642
|
|
|
|
|
|
| |
PHINode::Create() giving the (known or expected) number of operands.
llvm-svn: 128537
|
|
|
|
| |
llvm-svn: 128535
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
bitcasts, which are really no-ops here. This fixes slowdowns on
MultiSource/Applications/aha and others.
llvm-svn: 127031
|
|
|
|
|
|
| |
This fixes PR9259.
llvm-svn: 126812
|
|
|
|
|
|
| |
queries, and SCEVExpander getRelevantLoop queries.
llvm-svn: 119595
|
|
|
|
| |
llvm-svn: 119570
|
|
|
|
|
|
|
| |
functions of ScalarEvolution, in preparation for memoization and
other optimizations.
llvm-svn: 119562
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
find integer induction variables.
llvm-svn: 108853
|
|
|
|
|
|
| |
result is a PHINode*.
llvm-svn: 108852
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 107989
|
|
|
|
| |
llvm-svn: 107988
|
|
|
|
| |
llvm-svn: 107976
|
|
|
|
| |
llvm-svn: 107248
|
|
|
|
|
|
| |
SmallVector, and other SmallVector simplifications.
llvm-svn: 106452
|
|
|
|
|
|
| |
in refactoring.
llvm-svn: 106398
|
|
|
|
|
|
| |
a helper function.
llvm-svn: 106388
|
|
|
|
|
|
| |
when iterating through instructions. Yet more work for rdar://7797940
llvm-svn: 106149
|
|
|
|
|
|
|
| |
there could be multiple subexpressions within a single expansion which
require insert point adjustment. This fixes PR7306.
llvm-svn: 105510
|
|
|
|
|
|
| |
same, now that getConstant has overloads consistent with ConstantInt::get.
llvm-svn: 102965
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 101376
|
|
|
|
|
|
|
| |
a hoisted intermediate result if the intermediate result isn't an
Instruction.
llvm-svn: 100884
|
|
|
|
| |
llvm-svn: 100874
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
for ignoring debug info intrinsics everywhere else is to advance
past them, and it needs to be consistent.
llvm-svn: 99332
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 98793
|
|
|
|
| |
llvm-svn: 98762
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 98026
|
|
|
|
| |
llvm-svn: 97865
|
|
|
|
| |
llvm-svn: 97830
|
|
|
|
|
|
| |
of loops.
llvm-svn: 97642
|
|
|
|
| |
llvm-svn: 97639
|
|
|
|
|
|
|
| |
by loop depth and emit loop-invariant subexpressions outside of loops.
This speeds up MultiSource/Applications/viterbi and others.
llvm-svn: 97580
|
|
|
|
|
|
|
| |
emitted after the increment. Make sure the insert position
reflects this. This fixes PR6453.
llvm-svn: 97537
|
|
|
|
| |
llvm-svn: 97453
|
|
|
|
|
|
|
|
| |
case where there are loop-invariant instructions somehow left
inside the loop, and in a position where they won't dominate
the IV increment position.
llvm-svn: 96448
|
|
|
|
|
|
|
| |
and T->isPointerTy(). Convert most instances of the first form to the second form.
Requested by Chris.
llvm-svn: 96344
|
|
|
|
|
|
| |
strict about the requirements.
llvm-svn: 96301
|
|
|
|
|
|
| |
isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris!
llvm-svn: 96223
|
|
|
|
|
|
|
| |
insert location has become an "inserted" instruction since the time
it was saved. If so, advance to the first non-"inserted" instruction.
llvm-svn: 96203
|
|
|
|
|
|
|
|
|
| |
current insertion point, advance the current insertion point.
This avoids a use-before-def situation in a testcase extracted
from clang which is difficult to reduce to a reasonable-sized
regression test.
llvm-svn: 96151
|
|
|
|
| |
llvm-svn: 96007
|