[AArch64][SVE] Don't support fixedStack for SVE objects.
authorSander de Smalen <sander.desmalen@arm.com>
Mon, 27 Jul 2020 11:57:41 +0000 (12:57 +0100)
committerSander de Smalen <sander.desmalen@arm.com>
Tue, 28 Jul 2020 14:45:53 +0000 (15:45 +0100)
commit54492a5843a34684ce21ae201dd8ca3e509288fd
tree1ceb11b43b30f18af45a7c226b929b0cdc37e9e5
parent984cf99055a292b3afe4535c013d38914a3da880
[AArch64][SVE] Don't support fixedStack for SVE objects.

Fixed stack objects are preallocated and defined to be allocated before
any of the regular stack objects. These are normally used to model stack
arguments.

The AAPCS does not support passing SVE registers on the stack by value
(only by reference). The current layout also doesn't place them before
all stack objects, but rather before all SVE objects. Removing this
simplifies the code that emits the allocation/deallocation
around callee-saved registers (D84042).

This patch also removes all uses of fixedStack from from
framelayout-sve.mir, where this was used purely for testing purposes.

Reviewers: paulwalker-arm, efriedma, rengolin

Reviewed By: paulwalker-arm

Differential Revision: https://reviews.llvm.org/D84538
llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
llvm/test/CodeGen/AArch64/framelayout-sve.mir