Create a stack frame on ARM when
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 24 Feb 2010 22:43:17 +0000 (22:43 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 24 Feb 2010 22:43:17 +0000 (22:43 +0000)
commit657baec0af38d84e24e4738b0696bb99d1517179
treed1d4d53bc522565a0194ca3263215f92492504e5
parent9792de7363973f30dfcbe71cc5f86b11168262b6
Create a stack frame on ARM when

- Function uses all scratch registers AND
- Function does not use any callee saved registers AND
- Stack size is too big to address with immediate offsets.

In this case a register must be scavenged to calculate the address of a stack
object, and the scavenger needs a spare register or emergency spill slot.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97071 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMBaseRegisterInfo.cpp
test/CodeGen/Thumb2/2010-02-24-BigStack.ll [new file with mode: 0644]