diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-03-05 21:49:17 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-03-05 21:49:17 +0000 |
commit | 2664d295cb151004a6e7c9dffedb9808e46a9b97 (patch) | |
tree | 19785983f6ad99ba80b0916d12022e3e15945733 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 8c5b8db5cdd0becd7c139db59fe32f27864f0c5c (diff) | |
download | bcm5719-llvm-2664d295cb151004a6e7c9dffedb9808e46a9b97.tar.gz bcm5719-llvm-2664d295cb151004a6e7c9dffedb9808e46a9b97.zip |
Better handling of dead super registers in LiveVariables. We used to do this:
CALL ... %RAX<imp-def>
... [not using %RAX]
%EAX = ..., %RAX<imp-use, kill>
RET %EAX<imp-use,kill>
Now we do this:
CALL ... %RAX<imp-def, dead>
... [not using %RAX]
%EAX = ...
RET %EAX<imp-use,kill>
By not artificially keeping %RAX alive, we lower register pressure a bit.
The correct number of instructions for 2008-08-05-SpillerBug.ll is obviously
55, anybody can see that. Sheesh.
llvm-svn: 97838
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions