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 | 84cc1f7cb8c66bd303dd1bac9899a24e02ac0d49 (patch) | |
tree | f61508c2eb5557aa4f511a2918da5aa15660c347 /llvm/lib/Target/ARM/ARMRegisterInfo.cpp | |
parent | 256aeb321bc1e36505b1efa65f4193bfacd5f3f2 (diff) | |
download | bcm5719-llvm-84cc1f7cb8c66bd303dd1bac9899a24e02ac0d49.tar.gz bcm5719-llvm-84cc1f7cb8c66bd303dd1bac9899a24e02ac0d49.zip |
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.
llvm-svn: 30290
Diffstat (limited to 'llvm/lib/Target/ARM/ARMRegisterInfo.cpp')
0 files changed, 0 insertions, 0 deletions