[PATCH] D124841: [PowerPC] Stash GPR to VSR if emergency spill slot is not reachable

Nemanja Ivanovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat May 7 20:13:31 PDT 2022


nemanjai added a comment.

In D124841#3489679 <https://reviews.llvm.org/D124841#3489679>, @efriedma wrote:

>> If such an emergency spill also needs to be spilled to a location with a large offset
>
> This shouldn't happen; the emergency spill slot should be placed in a location with a small offset from the frame/stack pointer.
>
> If it's impossible to allocate an emergency spill slot close to the stack pointer, I think we should force a frame pointer, and the emergency spill slot should be allocated close to that.  See, for example, AArch64FrameLowering::hasFP().

That certainly works in cases where the problem is a dynamic allocation in the stack frame. However, the issue here is that the fixed stack part of the frame (i.e. the parameter save area mandated by the ABI) is so large that all stack allocations are more than 32kB away from the stack pointer.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124841/new/

https://reviews.llvm.org/D124841



More information about the llvm-commits mailing list