| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Take this opportunity to generalize the indirectbr bailout logic for
loop transformations. CFG transformations will never get indirectbr
right, and there's no point trying.
llvm-svn: 154386
|
| |
|
|
|
|
| |
the loop should be unrolled according the value of OptSizeUnrollThreshold.
llvm-svn: 154014
|
| |
|
|
| |
llvm-svn: 153255
|
| |
|
|
|
|
|
|
| |
run with LIT now and now Dejagnu. dg.exp is no longer needed.
Patch reviewed by Daniel Dunbar. It will be followed by additional cleanup patches.
llvm-svn: 150664
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Patch by Brendon Cahoon!
This extends the existing LoopUnroll and LoopUnrollPass. Brendon
measured no regressions in the llvm test suite with -unroll-runtime
enabled. This implementation works by using the existing loop
unrolling code to unroll the loop by a power-of-two (default 8). It
generates an if-then-else sequence of code prior to the loop to
execute the extra iterations before entering the unrolled loop.
llvm-svn: 146245
|
| |
|
|
|
|
|
|
|
|
|
| |
The loop tree's inclusive block lists are painful and expensive to
update. (I have no idea why they're inclusive). The design was
supposed to handle this case but the implementation missed it and my
unit tests weren't thorough enough.
Fixes PR11335: loop unroll update.
llvm-svn: 144970
|
| |
|
|
|
|
| |
loop. Fixes PR11361!
llvm-svn: 144454
|
| |
|
|
| |
llvm-svn: 141049
|
| |
|
|
| |
llvm-svn: 139842
|
| |
|
|
|
|
| |
PR10920.
llvm-svn: 139583
|
| |
|
|
| |
llvm-svn: 139579
|
| |
|
|
|
|
| |
default change.
llvm-svn: 139517
|
| |
|
|
| |
llvm-svn: 139037
|
| |
|
|
| |
llvm-svn: 139010
|
| |
|
|
|
|
| |
This fixes PR10813.
llvm-svn: 139006
|
| |
|
|
|
|
| |
checked in at r137276 and r137341.
llvm-svn: 137385
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
SCEV unrolling can unroll loops with arbitrary induction variables. It
is a prerequisite for -disable-iv-rewrite performance. It is also
easily handles loops of arbitrary structure including multiple exits
and is generally more robust.
This is under a temporary option to avoid affecting default
behavior for the next couple of weeks. It is needed so that I can
checkin unit tests for updateUnloop.
llvm-svn: 137384
|
| |
|
|
| |
llvm-svn: 137203
|
| |
|
|
|
|
|
|
|
|
| |
These are not individual bug fixes. I had to rewrite a good chunk of
the unroller to make it sane. I think it was getting lucky on trivial
completely unrolled loops with no early exits. I included some fairly
simple unit tests for partial unrolling. I didn't do much stress
testing, so it may not be perfect, but should be usable now.
llvm-svn: 137190
|
| |
|
|
| |
llvm-svn: 125831
|
| |
|
|
| |
llvm-svn: 125317
|
| |
|
|
|
|
|
|
| |
cannot be unrolled. After some discussion,
there seems to be a better way to achieve the same effect.
llvm-svn: 113528
|
| |
|
|
|
|
|
|
|
| |
contains a call, lower the
unrolling threshold to the optimize-for-size threshold. Basically, for loops containing calls, unrolling
can still be profitable as long as the loop is REALLY small.
llvm-svn: 113439
|
| |
|
|
| |
llvm-svn: 89426
|
| |
|
|
|
|
|
|
| |
input filename so that opt doesn't print the input filename in the
output so that grep lines in the tests don't unintentionally match
strings in the input filename.
llvm-svn: 81537
|
| |
|
|
| |
llvm-svn: 81257
|
| |
|
|
|
|
| |
of using llvm-as, now that opt supports this.
llvm-svn: 81226
|
| |
|
|
| |
llvm-svn: 66937
|
| |
|
|
|
|
|
|
| |
partially unroll a loop when fully unrolling would not fit under the threshold.
Patch by Mikael Lepistö.
llvm-svn: 54160
|
| |
|
|
| |
llvm-svn: 52688
|
| |
|
|
|
|
|
|
| |
in the presence of out-of-loop users of in-loop values and the trip
count is not a known multiple of the unroll count, and to be a bit
simpler overall. This fixes PR2253.
llvm-svn: 52645
|
| |
|
|
| |
llvm-svn: 51349
|
| |
|
|
|
|
| |
renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too.
llvm-svn: 51328
|
| |
|
|
| |
llvm-svn: 48538
|
| |
|
|
| |
llvm-svn: 46417
|
| |
|
|
|
|
| |
remapping and the value is never tracked through LastValueMap.
llvm-svn: 43728
|
| |
|
|
| |
llvm-svn: 37801
|
| |
|
|
| |
llvm-svn: 37238
|
| |
|
|
| |
llvm-svn: 36783
|
| |
|
|
| |
llvm-svn: 36184
|
| |
|
|
| |
llvm-svn: 36181
|
| |
|
|
|
|
|
|
| |
Remove && from the end of the lines to prevent tests from throwing run
lines into the background. Also, clean up places where the same command
is run multiple times by using a temporary file.
llvm-svn: 36142
|
| |
|
|
|
|
| |
Upgrade to use new Tcl exec based test harness.
llvm-svn: 36062
|
| |
|
|
|
|
|
|
| |
global variables that needed to be passed in. This makes it possible to
add new global variables with only a couple changes (Makefile and llvm-dg.exp)
instead of touching every single dg.exp file.
llvm-svn: 35918
|
|
|
llvm-svn: 33296
|