LLVM-1163: AAPCS-VFP violation when CPRC allocated to stack
authorOliver Stannard <oliver.stannard@arm.com>
Fri, 7 Feb 2014 11:19:53 +0000 (11:19 +0000)
committerOliver Stannard <oliver.stannard@arm.com>
Fri, 7 Feb 2014 11:19:53 +0000 (11:19 +0000)
commitc8f5d438208fefc4f45034ba748861cf68a5911d
treecc3664226036f477c39c57b6f85c6acf023926fc
parentfba9c104b9f2b3bf406631ef988f94affa935718
LLVM-1163: AAPCS-VFP violation when CPRC allocated to stack

According to the AAPCS, when a CPRC is allocated to the stack, all other
VFP registers should be marked as unavailable.

I have also modified the rules for allocating non-CPRCs to the stack, to make
it more explicit that all GPRs must be made unavailable. I cannot think of a
case where the old version would produce incorrect answers, so there is no test
for this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200970 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/CallingConvLower.h
include/llvm/Target/TargetCallingConv.td
lib/Target/ARM/ARMCallingConv.td
test/CodeGen/ARM/2014-02-05-vfp-regs-after-stack.ll [new file with mode: 0644]
utils/TableGen/CallingConvEmitter.cpp