summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopUnroll
Commit message (Collapse)AuthorAgeFilesLines
* Fix 12513: Loop unrolling breaks with indirect branches.Andrew Trick2012-04-101-0/+40
| | | | | | | | 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
* Add testcase for r154007, when a function has the optsize attribute,Hongbin Zheng2012-04-041-0/+35
| | | | | | the loop should be unrolled according the value of OptSizeUnrollThreshold. llvm-svn: 154014
* Remove redundant -enable-iv-rewrite=false flags from test cases.Andrew Trick2012-03-221-1/+1
| | | | llvm-svn: 153255
* Replace all instances of dg.exp file with lit.local.cfg, since all tests are ↵Eli Bendersky2012-02-162-3/+1
| | | | | | | | 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
* Add -unroll-runtime for unrolling loops with run-time trip counts.Andrew Trick2011-12-094-0/+214
| | | | | | | | | | | | | 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
* Fix a corner case in updating LoopInfo after fully unrolling an outer loop.Andrew Trick2011-11-181-0/+41
| | | | | | | | | | | 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
* Don't try to loop on iterators that are potentially invalidated inside the ↵Nick Lewycky2011-11-121-0/+42
| | | | | | loop. Fixes PR11361! llvm-svn: 144454
* Unit test for r140919, loop unroll heuristics.Andrew Trick2011-10-041-0/+36
| | | | llvm-svn: 141049
* Reapply r139759. Disable IV rewriting by default. See PR10916.Andrew Trick2011-09-151-1/+1
| | | | llvm-svn: 139842
* [indvars] Revert r139579 until 401.bzip -arch i386 miscompilation is fixed. ↵Andrew Trick2011-09-131-1/+1
| | | | | | PR10920. llvm-svn: 139583
* Disable IV rewriting by default. See PR10916.Andrew Trick2011-09-131-1/+1
| | | | llvm-svn: 139579
* Rename -disable-iv-rewrite to -enable-iv-rewrite=false in preparation for ↵Andrew Trick2011-09-121-1/+1
| | | | | | default change. llvm-svn: 139517
* Test case update for unroll-scev.Andrew Trick2011-09-022-8/+13
| | | | llvm-svn: 139037
* -unroll-scev flag removalAndrew Trick2011-09-024-4/+4
| | | | llvm-svn: 139010
* ConstantVector returns arbitrary value for the wrong index.Jakub Staszak2011-09-021-0/+29
| | | | | | This fixes PR10813. llvm-svn: 139006
* A slew of unit tests for the recent LoopInfo::updateUnloop featureAndrew Trick2011-08-111-0/+429
| | | | | | checked in at r137276 and r137341. llvm-svn: 137385
* Allow loop unrolling to get known trip counts from ScalarEvolution.Andrew Trick2011-08-111-0/+172
| | | | | | | | | | | | | 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
* Invoke SimplifyIndVar when we partially unroll a loop. Fixes PR10534.Andrew Trick2011-08-101-0/+39
| | | | llvm-svn: 137203
* Fix the LoopUnroller to handle nontrivial loops and partial unrolling.Andrew Trick2011-08-102-0/+162
| | | | | | | | | | 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
* add a testcase for r125827Chris Lattner2011-02-181-0/+24
| | | | llvm-svn: 125831
* Rename 'loopsimplify' to 'loop-simplify'.Cameron Zwarich2011-02-101-1/+1
| | | | llvm-svn: 125317
* Revert r113439, which relaxed the requirement that loops containing calls ↵Owen Anderson2010-09-091-51/+0
| | | | | | | | cannot be unrolled. After some discussion, there seems to be a better way to achieve the same effect. llvm-svn: 113528
* Relax the "don't unroll loops containing calls" rule. Instead, when a loop ↵Owen Anderson2010-09-081-0/+51
| | | | | | | | | 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
* Teach getSmallConstantTripMultiple about Shl operators.Dan Gohman2009-11-201-0/+28
| | | | llvm-svn: 89426
* Change tests from "opt %s" to "opt < %s" so that opt doesn't see theDan Gohman2009-09-117-7/+7
| | | | | | | | 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
* Use opt -S instead of piping bitcode output through llvm-dis.Dan Gohman2009-09-083-3/+3
| | | | llvm-svn: 81257
* Change these tests to feed the assembly files to opt directly, insteadDan Gohman2009-09-087-7/+7
| | | | | | of using llvm-as, now that opt supports this. llvm-svn: 81226
* remove a test that depends on -debug.Chris Lattner2009-03-131-15/+0
| | | | llvm-svn: 66937
* Add -unroll-allow-partial command line option that enabled the loop unroller toMatthijs Kooijman2008-07-291-0/+15
| | | | | | | | partially unroll a loop when fully unrolling would not fit under the threshold. Patch by Mikael Lepistö. llvm-svn: 54160
* Revert 52645, the loop unroller changes. It caused a regression in 252.eon.Dan Gohman2008-06-242-72/+0
| | | | llvm-svn: 52688
* Revamp the loop unroller, extending it to correctly update PHI nodesDan Gohman2008-06-232-0/+72
| | | | | | | | 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
* sabre brings to my attention that the 'tr' suffix is also obsoleteGabor Greif2008-05-201-1/+1
| | | | llvm-svn: 51349
* Rename the last test with .llx extension to .ll, resolve duplicate test by ↵Gabor Greif2008-05-201-1/+1
| | | | | | 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
* Upgrade tests.Tanya Lattner2008-03-194-44/+33
| | | | llvm-svn: 48538
* Be more careful modifying the use_list while also iterating through it.Nick Lewycky2008-01-271-0/+2
| | | | llvm-svn: 46417
* If a value is incoming from outside the loop then the value does not need ↵Devang Patel2007-11-051-0/+293
| | | | | | remapping and the value is never tracked through LastValueMap. llvm-svn: 43728
* Convert .cvsignore filesJohn Criswell2007-06-291-3/+0
| | | | llvm-svn: 37801
* Add a testcase for unrolling loops with unknown tripcounts.Dan Gohman2007-05-181-0/+18
| | | | llvm-svn: 37238
* new testcase for PR1385Chris Lattner2007-05-051-0/+36
| | | | llvm-svn: 36783
* Add PR number for reference.Devang Patel2007-04-161-0/+1
| | | | llvm-svn: 36184
* New test case.Devang Patel2007-04-161-0/+17
| | | | llvm-svn: 36181
* For PR1319:Reid Spencer2007-04-161-1/+1
| | | | | | | | 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
* For PR1319:Reid Spencer2007-04-151-2/+2
| | | | | | Upgrade to use new Tcl exec based test harness. llvm-svn: 36062
* Make the llvm-runtest function much more amenable by eliminating all theReid Spencer2007-04-111-1/+1
| | | | | | | | 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
* Regression is gone, don't try to find it on clean target.Reid Spencer2007-01-175-0/+68
llvm-svn: 33296
OpenPOWER on IntegriCloud