summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/loop-strength-reduce4.ll
Commit message (Collapse)AuthorAgeFilesLines
* Fix register-dependent X86 tests.Jakob Stoklund Olesen2011-04-051-3/+3
| | | | llvm-svn: 128867
* test/loop-strength-reduce4: Add explicit triplet for Win32 host.NAKAMURA Takumi2010-09-021-2/+2
| | | | llvm-svn: 112802
* Reapply the new LoopStrengthReduction code, with compile time andDan Gohman2010-02-121-2/+16
| | | | | | | | | | 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
* Revert LoopStrengthReduce.cpp to pre-r94061 for now.Dan Gohman2010-01-221-16/+2
| | | | llvm-svn: 94123
* Re-implement the main strength-reduction portion of LoopStrengthReduction.Dan Gohman2010-01-211-2/+16
| | | | | | | | | | | | | | 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
* Add nounwinds.Dan Gohman2010-01-191-1/+1
| | | | llvm-svn: 93919
* Eliminate more uses of llvm-as and llvm-dis.Dan Gohman2009-09-081-2/+2
| | | | llvm-svn: 81290
* If a loop termination compare instruction is the only use of its stride,Evan Cheng2007-10-251-0/+49
and the compaison is against a constant value, try eliminate the stride by moving the compare instruction to another stride and change its constant operand accordingly. e.g. loop: ... v1 = v1 + 3 v2 = v2 + 1 if (v2 < 10) goto loop => loop: ... v1 = v1 + 3 if (v1 < 30) goto loop llvm-svn: 43336
OpenPOWER on IntegriCloud