| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 97830
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 97793
|
| |
|
|
| |
llvm-svn: 97659
|
| |
|
|
|
|
| |
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: 97488
|
| |
|
|
|
|
| |
tantalyzing enough that people keep trying to use it.
llvm-svn: 97483
|
| |
|
|
| |
llvm-svn: 97459
|
| |
|
|
| |
llvm-svn: 97453
|
| |
|
|
| |
llvm-svn: 97449
|
| |
|
|
|
|
|
|
|
|
|
|
| |
which branch on undef to branch on a boolean constant for the edge
exiting the loop. This helps ScalarEvolution compute trip counts for
loops.
Teach ScalarEvolution to recognize single-value PHIs, when safe, and
ForgetSymbolicName to forget such single-value PHI nodes as apprpriate
in ForgetSymbolicName.
llvm-svn: 97126
|
| |
|
|
|
|
| |
didn't fold anything.
llvm-svn: 97049
|
| |
|
|
| |
llvm-svn: 97048
|
| |
|
|
| |
llvm-svn: 97042
|
| |
|
|
| |
llvm-svn: 97036
|
| |
|
|
|
|
| |
the DominatorTree. ...", in hopes of restoring poor old PPC bootstrap.
llvm-svn: 97027
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
argument is non-null, pass it along to PHITranslateSubExpr so that it can
prefer using existing values that dominate the PredBB, instead of just
blindly picking the first equivalent value that it finds on a uselist.
Also when the DominatorTree is specified, have PHITranslateValue filter
out any result that does not dominate the PredBB. This is basically just
refactoring the check that used to be in GetAvailablePHITranslatedSubExpr
and also in GVN.
Despite my initial expectations, this change does not affect the results
of GVN for any testcases that I could find, but it should help compile time.
Before this change, if PHITranslateSubExpr picked a value that does not
dominate, PHITranslateWithInsertion would then insert a new value, which GVN
would later determine to be redundant and would replace. By picking a good
value to begin with, we save GVN the extra work of inserting and then
replacing a new value.
llvm-svn: 97010
|
| |
|
|
|
|
|
|
|
|
|
| |
getelementptr. Despite only doing so in the case where x is a known
array object and c can be converted to an index within range, this
could still be invalid if c is actually the address of an object
allocated outside of LLVM. Also, SCEVExpander, the original motivation
for this code, has since been improved to avoid inttoptr+ptroint in
more cases.
llvm-svn: 96950
|
| |
|
|
|
|
|
|
|
|
| |
operators.
The test difference is just due to the multiplication operands
being commuted (and thus requiring a more elaborate match). In
optimized code, that expression would be folded.
llvm-svn: 96816
|
| |
|
|
| |
llvm-svn: 96808
|
| |
|
|
| |
llvm-svn: 96780
|
| |
|
|
| |
llvm-svn: 96777
|
| |
|
|
| |
llvm-svn: 96688
|
| |
|
|
|
|
|
|
| |
true or false as its exit condition. These are usually eliminated by
SimplifyCFG, but the may be left around during a pass which wishes
to preserve the CFG.
llvm-svn: 96683
|
| |
|
|
|
|
| |
to be spurious
llvm-svn: 96662
|
| |
|
|
| |
llvm-svn: 96653
|
| |
|
|
|
|
|
|
| |
a loop exit value, so that if a loop gets deleted, ScalarEvolution
isn't stick holding on to dangling SCEVAddRecExprs for that loop. This
fixes PR6339.
llvm-svn: 96626
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 96432
|
| |
|
|
| |
llvm-svn: 96395
|
| |
|
|
| |
llvm-svn: 96378
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
name, test whether the SCEV itself is that temporary symbolic name,
in addition to checking whether the symbolic name appears as a
possibly-indirect operand.
llvm-svn: 96216
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
to override anything from the parent class.
llvm-svn: 96150
|
| |
|
|
|
|
|
| |
SCEVAddRecExpr doesn't necessarily dominate blocks merely dominated
by all of its operands. This fixes an abort compiling 403.gcc.
llvm-svn: 96056
|
| |
|
|
| |
llvm-svn: 96007
|
| |
|
|
|
|
|
|
|
|
| |
bug fixes, and with improved heuristics for analyzing foreign-loop
addrecs.
This change also flattens IVUsers, eliminating the stride-oriented
groupings, which makes it easier to work with.
llvm-svn: 95975
|
| |
|
|
|
|
| |
The "uses=" comments are just clutter in this context.
llvm-svn: 95799
|
| |
|
|
| |
llvm-svn: 95781
|
| |
|
|
| |
llvm-svn: 95582
|
| |
|
|
| |
llvm-svn: 95461
|
| |
|
|
| |
llvm-svn: 95453
|
| |
|
|
|
|
|
| |
than int. This will make it more convenient for LSR, which does
a lot of things with int64_t offsets.
llvm-svn: 95281
|
| |
|
|
| |
llvm-svn: 95240
|