[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