ARM: When spilling extra registers for alignment, prefer low registers on all Thumb...
authorPeter Collingbourne <peter@pcc.me.uk>
Thu, 23 Apr 2015 20:31:26 +0000 (20:31 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Thu, 23 Apr 2015 20:31:26 +0000 (20:31 +0000)
commitf86c29ea2c0321aa4dcad42c83ff7f09bab1b7d8
treeb3e159121c2f87e605714ff6700e0431a4f5de9e
parentb28abbf98b185ded306579cb4db75366274d593a
ARM: When spilling extra registers for alignment, prefer low registers on all Thumb targets.

This makes it more likely that we can use the 16-bit push and pop instructions
on Thumb-2, saving around 4 bytes per function.

Differential Revision: http://reviews.llvm.org/D9165

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235637 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMFrameLowering.cpp
test/CodeGen/ARM/2013-04-16-AAPCS-C5-vs-VFP.ll
test/CodeGen/ARM/2013-05-02-AAPCS-ByVal-Structs-C4-C5-VFP.ll
test/CodeGen/ARM/2013-05-02-AAPCS-ByVal-Structs-C4-C5-VFP2.ll
test/CodeGen/ARM/debug-frame.ll
test/CodeGen/ARM/fold-stack-adjust.ll
test/CodeGen/ARM/interrupt-attr.ll
test/CodeGen/Thumb2/2009-08-06-SpDecBug.ll
test/CodeGen/Thumb2/large-stack.ll
test/CodeGen/Thumb2/tpsoft.ll
test/MC/ARM/elf-thumbfunc-reloc.ll