summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopUnswitch
Commit message (Collapse)AuthorAgeFilesLines
* Bail on unswitching a switch statement for a case with a critical edge. We nameNick Lewycky2011-06-031-0/+28
| | | | | | | which edge to split by pred/succ pair, which means that we can end up splitting the wrong edge (by case value) in the switch statement entirely. Fixes PR10031! llvm-svn: 132535
* Factor code for testing whether replacing one value with anotherDuncan Sands2010-11-181-0/+28
| | | | | | | | preserves LCSSA form out of ScalarEvolution and into the LoopInfo class. Use it to check that SimplifyInstruction simplifications are not breaking LCSSA form. Fixes PR8622. llvm-svn: 119727
* Fix loop unswitching's assumption that a code path which eitherDan Gohman2010-09-011-0/+53
| | | | | | infinite loops or exits will eventually exit. This fixes PR5373. llvm-svn: 112745
* Remove arm_apcscc from the test files. It is the default and doing thisRafael Espindola2010-06-171-1/+1
| | | | | | matches what llvm-gcc and clang now produce. llvm-svn: 106221
* RewriteLoopBodyWithConditionConstant can end up rewriting theChris Lattner2010-04-201-0/+19
| | | | | | | | condition we're unswitching on. In this case, don't try to simplify the second copy of the loop which may be dead or not, but is probably a constant now. This fixes PR6879 llvm-svn: 101870
* fix a crash in loop unswitch on a loop invariant vector condition.Chris Lattner2010-02-021-1/+16
| | | | llvm-svn: 95055
* remove an unreduced testcase, rename another.Chris Lattner2010-02-022-1697/+0
| | | | llvm-svn: 95054
* Reverting patch in revision 89758, initial attempt at fixing PR5373 has ↵Edward O'Callaghan2009-11-251-24/+0
| | | | | | proven to be bogus. llvm-svn: 89844
* Fix for PR5373, Credit to Jakub Staszak.Edward O'Callaghan2009-11-241-0/+24
| | | | llvm-svn: 89758
* Move the dominator verification code out of special code embedded withinDan Gohman2009-09-281-1/+1
| | | | | | | | | | | | the PassManager code into a regular verifyAnalysis method. Also, reorganize loop verification. Make the LoopPass infrastructure call verifyLoop as needed instead of having LoopInfo::verifyAnalysis check every loop in the function after each looop pass. Add a new command-line argument, -verify-loop-info, to enable the expensive full checking. llvm-svn: 82952
* Eliminate more redundant llvm-as calls.Dan Gohman2009-09-111-1/+1
| | | | llvm-svn: 81540
* Change tests from "opt %s" to "opt < %s" so that opt doesn't see theDan Gohman2009-09-1115-15/+15
| | | | | | | | 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
* Fix SplitCriticalEdge to properly update LCSSA form when splitting aDan Gohman2009-09-091-0/+34
| | | | | | | | | | loop exit edge -- new PHIs may be needed not only for the additional splits that are made to preserve LoopSimplify form, but also for the original split. Factor out the code that inserts new PHIs so that it can be used for both. Remove LoopRotation.cpp's code for manually updating LCSSA form, as it is now redundant. This fixes PR4934. llvm-svn: 81363
* Trim unnecessary declarations.Dan Gohman2009-09-081-550/+0
| | | | llvm-svn: 81227
* Change these tests to feed the assembly files to opt directly, insteadDan Gohman2009-09-0815-15/+15
| | | | | | of using llvm-as, now that opt supports this. llvm-svn: 81226
* Re-apply r80926, with fixes: keep the domtree informed of new blocksDan Gohman2009-09-082-52/+645
| | | | | | | | | | | | | | | that get created during loop unswitching, and fix SplitBlockPredecessors' LCSSA updating code to create new PHIs instead of trying to just move existing ones. Also, optimize Loop::verifyLoop, since it gets called a lot. Use searches on a sorted list of blocks instead of calling the "contains" function, as is done in other places in the Loop class, since "contains" does a linear search. Also, don't call verifyLoop from LoopSimplify or LCSSA, as the PassManager is already calling verifyLoop as part of LoopInfo's verifyAnalysis. llvm-svn: 81221
* Revert r80926. It causes loop unswitch assertion and slow down some JIT ↵Evan Cheng2009-09-061-0/+52
| | | | | | tests significantly. llvm-svn: 81101
* Actually test something. Use PR3170 test case.Devang Patel2008-12-081-36/+25
| | | | llvm-svn: 60727
* Undo previous patch. Devang Patel2008-12-081-1/+1
| | | | llvm-svn: 60701
* Ignore conditions that are outside the loop.Devang Patel2008-11-031-0/+47
| | | | llvm-svn: 58631
* Preserve dominance frontier while trivially unswitching loop.Devang Patel2008-06-181-0/+22
| | | | llvm-svn: 52438
* Update dom tree. Fix PR 2372.Devang Patel2008-06-021-0/+26
| | | | llvm-svn: 51887
* 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-196-1640/+1599
| | | | llvm-svn: 48538
* Fix bug in updating dominance frontier after loop Devang Patel2007-10-051-0/+29
| | | | | | | unswitch when frontier includes basic blocks that are not inside loop. llvm-svn: 42654
* Convert tests using "| wc -l | grep ..." to use the count script.Dan Gohman2007-08-151-1/+1
| | | | llvm-svn: 41097
* Update dominator info for the middle blocks created while splitingDevang Patel2007-08-021-0/+55
| | | | | | | | exit edge to preserve LCSSA. Fix dominance frontier update during loop unswitch. This fixes PR 1589, again llvm-svn: 40737
* Update dominator info for the middle blocks created while splitingDevang Patel2007-08-011-0/+30
| | | | | | | | exit edge to preserve LCSSA. Fix dominance frontier update during loop unswitch. This fixes PR 1589. llvm-svn: 40695
* Bunch of tests to check loop passes.Devang Patel2007-07-312-0/+72
| | | | llvm-svn: 40629
* New test.Devang Patel2007-07-181-0/+66
| | | | llvm-svn: 40023
* Convert .cvsignore filesJohn Criswell2007-06-291-3/+0
| | | | llvm-svn: 37801
* Drop ModuleID from comment.Devang Patel2007-05-112-2/+2
| | | | llvm-svn: 36982
* New test.Devang Patel2007-05-091-0/+95
| | | | llvm-svn: 36954
* New test.Devang Patel2007-05-091-0/+32
| | | | llvm-svn: 36953
* 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-177-0/+1863
llvm-svn: 33296
OpenPOWER on IntegriCloud