[PATCH] D84538: [AArch64][SVE] Don't support fixedStack for SVE objects.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 24 09:31:57 PDT 2020


sdesmalen created this revision.
sdesmalen added reviewers: paulwalker-arm, efriedma.
Herald added subscribers: danielkiss, psnobl, hiraditya, kristof.beyls, tschuett.
Herald added a reviewer: rengolin.
Herald added a project: LLVM.

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 <https://reviews.llvm.org/D84042>).

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


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D84538

Files:
  llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
  llvm/test/CodeGen/AArch64/framelayout-sve.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D84538.280492.patch
Type: text/x-patch
Size: 12442 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200724/dddace5a/attachment.bin>


More information about the llvm-commits mailing list