summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/multiple-loop-post-inc.ll
Commit message (Collapse)AuthorAgeFilesLines
* Remove the old CodePlacementOpt pass.Benjamin Kramer2013-03-291-1/+1
| | | | | | It was superseded by MachineBlockPlacement and disabled by default since LLVM 3.1. llvm-svn: 178349
* Enable the new LoopInfo algorithm by default.Andrew Trick2012-06-261-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | The primary advantage is that loop optimizations will be applied in a stable order. This helps debugging and unit test creation. It is also a better overall implementation without pathologically bad performance on deep functions. On large functions (llvm-stress --size=200000 | opt -loops) Before: 0.1263s After: 0.0225s On deep functions (after tweaking llvm-stress, thanks Nadav): Before: 0.2281s After: 0.0227s See r158790 for more comments. The loop tree is now consistently generated in forward order, but loop passes are applied in reverse order over the program. If we have a loop optimization that prefers forward order, that can easily be achieved by adding a different type of LoopPassManager. llvm-svn: 159183
* Add mcpu to tests to prevent them from using AVX instructions on Sandy ↵Craig Topper2012-04-271-1/+1
| | | | | | Bridge after r155618. llvm-svn: 155696
* Use a bigger hammer to fix PR11314 by disabling the "forcing two-addressEvan Cheng2011-11-101-0/+4
| | | | | | | | | | | | | | | | instruction lower optimization" in the pre-RA scheduler. The optimization, rather the hack, was done before MI use-list was available. Now we should be able to implement it in a better way, perhaps in the two-address pass until a MI scheduler is available. Now that the scheduler has to backtrack to handle call sequences. Adding artificial scheduling constraints is just not safe. Furthermore, the hack is not taking all the other scheduling decisions into consideration so it's just as likely to pessimize code. So I view disabling this optimization goodness regardless of PR11314. llvm-svn: 144267
* When expanding expressions which are using post-inc mode for multiple loops,Dan Gohman2010-04-081-0/+27
| | | | | | ensure that the expansion is dominated by the increments of those loops. llvm-svn: 100748
* Generalize IVUsers to track arbitrary expressions rather than expressionsDan Gohman2010-04-071-0/+277
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
OpenPOWER on IntegriCloud