Heed spill slot alignment on ARM.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 20 Dec 2011 22:15:04 +0000 (22:15 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 20 Dec 2011 22:15:04 +0000 (22:15 +0000)
commit52346e964ff1108729c2b8990b859c10f09a1822
tree25180d9dd8717b1aef6cb9c889d49a2f5616434f
parent05c585319b8620178d3032f74704c5be360ab7e7
Heed spill slot alignment on ARM.

Use the spill slot alignment as well as the local variable alignment to
determine when the stack needs to be realigned. This works now that the
ARM target can always realign the stack by using a base pointer.

Still respect the ARMBaseRegisterInfo::canRealignStack() function
vetoing a realigned stack.  Don't use aligned spill code in that case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146997 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMBaseInstrInfo.cpp
lib/Target/ARM/ARMBaseRegisterInfo.cpp
test/CodeGen/ARM/fast-isel-deadcode.ll
test/CodeGen/Thumb2/aligned-spill.ll [new file with mode: 0644]