summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-04-17 01:29:40 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-04-17 01:29:40 +0000
commitb96a1082a9910840c78568f7c04e743d4f0cae9b (patch)
treed6042f25161c1fece9a8d6ed089f9e7d0517e5c1 /clang/lib/CodeGen/CodeGenModule.cpp
parentc3e7cff6d3cc890a4c1a8ddcb0a716c052141fc2 (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud