diff options
author | Michael Kuperstein <michael.m.kuperstein@intel.com> | 2015-08-11 08:48:48 +0000 |
---|---|---|
committer | Michael Kuperstein <michael.m.kuperstein@intel.com> | 2015-08-11 08:48:48 +0000 |
commit | 7337ee23d8ee9864d6b5f4140aaa56cf68388361 (patch) | |
tree | c1cc309ab4a2552a07a71045e91ba535f9374ed0 /llvm/unittests/Analysis/ValueTrackingTest.cpp | |
parent | 82814f63c035de29b37485d14749f4ddfb7d10d5 (diff) | |
download | bcm5719-llvm-7337ee23d8ee9864d6b5f4140aaa56cf68388361.tar.gz bcm5719-llvm-7337ee23d8ee9864d6b5f4140aaa56cf68388361.zip |
[X86] When optimizing for minsize, use POP for small post-call stack clean-up
When optimizing for size, replace "addl $4, %esp" and "addl $8, %esp"
following a call by one or two pops, respectively. We don't try to do it in
general, but only when the stack adjustment immediately follows a call - which
is the most common case.
That allows taking a short-cut when trying to find a free register to pop into,
instead of a full-blown liveness check. If the adjustment immediately follows a
call, then every register the call clobbers but doesn't define should be dead at
that point, and can be used.
Differential Revision: http://reviews.llvm.org/D11749
llvm-svn: 244578
Diffstat (limited to 'llvm/unittests/Analysis/ValueTrackingTest.cpp')
0 files changed, 0 insertions, 0 deletions