diff options
author | Tim Northover <tnorthover@apple.com> | 2013-11-08 17:18:07 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2013-11-08 17:18:07 +0000 |
commit | 323ac85d6ad7ba5d9593d8e151d879bd91d82e08 (patch) | |
tree | 1c3b17bc84524be55da9f3ffaf112d3263a564f9 /include | |
parent | 2b01682aa7b9509e9fa1865ebed3d0a7928f5b7a (diff) | |
download | external_llvm-323ac85d6ad7ba5d9593d8e151d879bd91d82e08.zip external_llvm-323ac85d6ad7ba5d9593d8e151d879bd91d82e08.tar.gz external_llvm-323ac85d6ad7ba5d9593d8e151d879bd91d82e08.tar.bz2 |
ARM: fold prologue/epilogue sp updates into push/pop for code size
ARM prologues usually look like:
push {r7, lr}
sub sp, sp, #4
If code size is extremely important, this can be optimised to the single
instruction:
push {r6, r7, lr}
where we don't actually care about the contents of r6, but pushing it subtracts
4 from sp as a side effect.
This should implement such a conversion, predicated on the "minsize" function
attribute (-Oz) since I've yet to find any code it actually makes faster.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194264 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions