[PATCH] D70174: [AArch64][SVE] Use FP for scavenging slot

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 13 05:11:46 PST 2019


sdesmalen created this revision.
sdesmalen added reviewers: efriedma, ostannard, cameron.mcinally, rengolin.
Herald added subscribers: psnobl, rkruppe, hiraditya, kristof.beyls, tschuett.
Herald added a project: LLVM.

This patch fixes two issues:

- Forces the use of FP to access the emergency scavenging slot, as otherwise an extra spill may be needed to materialize the address of the scavenging slot itself.
- Forces the availability of the base-pointer (x19) when the frame has both scalable vectors and variable-length arrays, otherwise it will be expensive to access non-SVE locals.

This code also changes the interface to `estimateSVEStackObjectOffsets`
so that MFI can be passed as a 'const' reference.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D70174

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70174.229064.patch
Type: text/x-patch
Size: 8066 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191113/7325ecf0/attachment.bin>


More information about the llvm-commits mailing list