- Apr 09, 2010
-
-
Dan Gohman authored
llvm-svn: 100824
-
- Apr 08, 2010
-
-
Dan Gohman authored
ensure that the expansion is dominated by the increments of those loops. llvm-svn: 100748
-
Dan Gohman authored
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
-
- Mar 26, 2010
-
-
Dan Gohman authored
llvm-svn: 99580
-
Gabor Greif authored
llvm-svn: 99564
-
- Mar 03, 2010
-
-
Dan Gohman authored
of loops. llvm-svn: 97642
-
- Mar 02, 2010
-
-
Dan Gohman authored
emitted after the increment. Make sure the insert position reflects this. This fixes PR6453. llvm-svn: 97537
-
- Mar 01, 2010
-
-
Dan Gohman authored
llvm-svn: 97453
-
- Feb 22, 2010
-
-
Dan Gohman authored
llvm-svn: 96780
-
Dan Gohman authored
induction variable value and a loop-variant value, don't force the insert position to be at the post-increment position, because it may not be dominated by the loop-variant value. This fixes a use-before-def problem noticed on PPC. llvm-svn: 96774
-
- Feb 19, 2010
-
-
Dan Gohman authored
the division would have a remainder. llvm-svn: 96693
-
Dan Gohman authored
scaled reuse. llvm-svn: 96692
-
Dan Gohman authored
strides in foreign loops. This helps locate reuse opportunities with existing induction variables in foreign loops and reduces the need for inserting new ones. This fixes rdar://7657764. llvm-svn: 96629
-
- Feb 17, 2010
-
-
Dan Gohman authored
llvm-svn: 96429
-
Dan Gohman authored
have overflowed. llvm-svn: 96428
-
- Feb 16, 2010
-
-
Dan Gohman authored
llvm-svn: 96382
-
Dan Gohman authored
llvm-svn: 96372
-
Duncan Sands authored
and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. llvm-svn: 96344
-
Dan Gohman authored
as it also peeks at which registers are being used by other uses. This makes LSR less sensitive to use-list order. llvm-svn: 96308
-
- Feb 14, 2010
-
-
Dan Gohman authored
llvm-svn: 96179
-
Dan Gohman authored
llvm-svn: 96178
-
Dan Gohman authored
with multiplication by constants distributed through, occasionally those subexpressions can include both x and -x. For now, if this condition is discovered within LSR, just prune such cases away, as they won't be profitable. This fixes a "zero allocated in a base register" assertion failure. llvm-svn: 96177
-
Dan Gohman authored
the no-TLI case. But it should still default to declining the transformation. llvm-svn: 96152
-
Dan Gohman authored
because profitability can't be sufficiently approximated. llvm-svn: 96148
-
John McCall authored
from opt. llvm-svn: 96135
-
- Feb 13, 2010
-
-
Dan Gohman authored
deterministically sorted. llvm-svn: 96071
-
- Feb 12, 2010
-
-
Dan Gohman authored
llvm-svn: 96005
-
Dan Gohman authored
offset distributions it doesn't expect. llvm-svn: 96002
-
Daniel Dunbar authored
is breaking llvm-gcc bootstrap. llvm-svn: 95988
-
Dan Gohman authored
doesn't matter, except that ScalarEvolution tends to need less time to fold the results this way. llvm-svn: 95979
-
Dan Gohman authored
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
-
- Jan 29, 2010
-
-
Bill Wendling authored
llvm-svn: 94771
-
Bill Wendling authored
llvm-svn: 94765
-
- Jan 22, 2010
-
-
Dan Gohman authored
llvm-svn: 94123
-
Dan Gohman authored
loop-variant components, adds must be inserted after the increment. Keep track of the increment position for this case, and insert these adds in the correct location. llvm-svn: 94110
-
- Jan 21, 2010
-
-
Dan Gohman authored
llvm-svn: 94108
-
Dan Gohman authored
operands exceeds the number of registers used in the initial solution, as that wouldn't lead to a profitable solution anyway. llvm-svn: 94107
-
Dan Gohman authored
llvm-svn: 94104
-
Dan Gohman authored
This new version is much more aggressive about doing "full" reduction in cases where it reduces register pressure, and also more aggressive about rewriting induction variables to count down (or up) to zero when doing so reduces register pressure. It currently uses fairly simplistic algorithms for finding reuse opportunities, but it introduces a new framework allows it to combine multiple strategies at once to form hybrid solutions, instead of doing all full-reduction or all base+index. llvm-svn: 94061
-
- Jan 05, 2010
-
-
Dan Gohman authored
llvm-svn: 92735
-