| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
This avoids unnecessary expansion of expressions and allows the SCEV
expander to work on expression DAGs, not just trees.
Fixes PR11090.
llvm-svn: 141870
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 141470
|
|
|
|
|
|
| |
Fixes rdar://problem/5064068
llvm-svn: 141442
|
|
|
|
|
|
|
|
| |
to be uniqued, without any benefit.
If someone prefers %tmp42 to %42, run instnamer.
llvm-svn: 140634
|
|
|
|
| |
llvm-svn: 138481
|
|
|
|
|
|
| |
check for a LandingPadInst.
llvm-svn: 137745
|
|
|
|
| |
llvm-svn: 137712
|
|
|
|
|
|
| |
ArrayRef.
llvm-svn: 135761
|
|
|
|
|
|
| |
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef.
llvm-svn: 135673
|
|
|
|
| |
llvm-svn: 135375
|
|
|
|
| |
llvm-svn: 135358
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 134441
|
|
|
|
| |
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
|