diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-04-05 20:30:20 +0000 |
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-04-05 20:30:20 +0000 |
| commit | 37492eac8cde0ee4a13391be0053b7917227c901 (patch) | |
| tree | 5cf9552201dc0a95c19be1d7911035b8eff797a3 /llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp | |
| parent | cc64bbca818f996ab43573b1c113d85bde15a420 (diff) | |
| download | llvm-37492eac8cde0ee4a13391be0053b7917227c901.zip llvm-37492eac8cde0ee4a13391be0053b7917227c901.tar.gz llvm-37492eac8cde0ee4a13391be0053b7917227c901.tar.bz2 | |
Don't break the IV update in TLI::SimplifySetCC().
LSR always tries to make the ICmp in the loop latch use the incremented
induction variable. This allows the induction variable to be kept in a
single register.
When the induction variable limit is equal to the stride,
SimplifySetCC() would break LSR's hard work by transforming:
(icmp (add iv, stride), stride) --> (cmp iv, 0)
This forced us to use lea for the IC update, preventing the simpler
incl+cmp.
<rdar://problem/7643606>
<rdar://problem/11184260>
llvm-svn: 154119
Diffstat (limited to 'llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp')
0 files changed, 0 insertions, 0 deletions
