diff options
author | Chris Lattner <sabre@nondot.org> | 2006-05-05 21:17:49 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-05-05 21:17:49 +0000 |
commit | 903236468c3ebb3f9ae8f51b6f2e68f10c7e1d3a (patch) | |
tree | 0759ffb8dd38d127162984aaaf74c5163be1960c /lib/CodeGen/AsmPrinter.cpp | |
parent | 581a7ad7c9e801522b6f137eebd8787e486292ef (diff) |
More aggressively sink GEP offsets into loops. For example, before we
generated:
movl 8(%esp), %eax
movl %eax, %edx
addl $4316, %edx
cmpb $1, %cl
ja LBB1_2 #cond_false
LBB1_1: #cond_true
movl L_QuantizationTables720$non_lazy_ptr, %ecx
movl %ecx, (%edx)
movl L_QNOtoQuantTableShift720$non_lazy_ptr, %edx
movl %edx, 4460(%eax)
ret
...
Now we generate:
movl 8(%esp), %eax
cmpb $1, %cl
ja LBB1_2 #cond_false
LBB1_1: #cond_true
movl L_QuantizationTables720$non_lazy_ptr, %ecx
movl %ecx, 4316(%eax)
movl L_QNOtoQuantTableShift720$non_lazy_ptr, %ecx
movl %ecx, 4460(%eax)
ret
... which uses one fewer register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28129 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter.cpp')
0 files changed, 0 insertions, 0 deletions