diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-04-17 01:29:40 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-04-17 01:29:40 +0000 |
commit | b96a1082a9910840c78568f7c04e743d4f0cae9b (patch) | |
tree | d6042f25161c1fece9a8d6ed089f9e7d0517e5c1 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | c3e7cff6d3cc890a4c1a8ddcb0a716c052141fc2 (diff) | |
download | bcm5719-llvm-b96a1082a9910840c78568f7c04e743d4f0cae9b.tar.gz bcm5719-llvm-b96a1082a9910840c78568f7c04e743d4f0cae9b.zip |
Teach spiller to unfold instructions which modref spill slot when a scratch
register is available and when it's profitable.
e.g.
xorq %r12<kill>, %r13
addq %rax, -184(%rbp)
addq %r13, -184(%rbp)
==>
xorq %r12<kill>, %r13
movq -184(%rbp), %r12
addq %rax, %r12
addq %r13, %r12
movq %r12, -184(%rbp)
Two more instructions, but fewer memory accesses. It can also open up
opportunities for more optimizations.
llvm-svn: 69341
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions