diff options
author | Chris Lattner <sabre@nondot.org> | 2006-09-13 06:02:42 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-09-13 06:02:42 +0000 |
commit | c970f062e0a66d97a06eca213486a16fae1b37a4 (patch) | |
tree | cf41ccdabd4fa6c4bb93a21cc72763a3e7e5e6e9 /lib/Target/ARM/ARMRegisterInfo.cpp | |
parent | c635d712a0db93a27ab094dcd0ef75312ff76f29 (diff) |
If LSR went through a lot of trouble to put constants (e.g. the addr of a global
in a specific BB, don't undo this!). This allows us to compile
CodeGen/X86/loop-hoist.ll into:
_foo:
xorl %eax, %eax
*** movl L_Arr$non_lazy_ptr, %ecx
movl 4(%esp), %edx
LBB1_1: #cond_true
movl %eax, (%ecx,%eax,4)
incl %eax
cmpl %edx, %eax
jne LBB1_1 #cond_true
LBB1_2: #return
ret
instead of:
_foo:
xorl %eax, %eax
movl 4(%esp), %ecx
LBB1_1: #cond_true
*** movl L_Arr$non_lazy_ptr, %edx
movl %eax, (%edx,%eax,4)
incl %eax
cmpl %ecx, %eax
jne LBB1_1 #cond_true
LBB1_2: #return
ret
This was noticed in 464.h264ref. This doesn't usually affect PPC,
but strikes X86 all the time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30290 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMRegisterInfo.cpp')
0 files changed, 0 insertions, 0 deletions