[PATCH] D40876: AArch64: Fix emergency spillslot being out of reach for large callframes

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 3 08:56:57 PST 2018


MatzeB added a comment.

In https://reviews.llvm.org/D40876#966714, @gberry wrote:

> I think what is bothering me about this change is that the return value of hasFP() now seems more dynamic.  Did you consider a potentially simpler fix of just creating the spill slot as a fixed stack object with a hard-coded offset that would guarantee it is directly addressable from the SP/FP?


I do create a spill slot that is easily accessible from FP, that's the whole point of this patch. Unfortunately I have to force FP usage in these cases, hence the hasFP changes.

I don't see any way to this SP relative, since at the point of the call SP has to point to the callframe, no way around that. And the callframe is so large in this situation that we cannot reach the spillslot before it by a simple immediate.


https://reviews.llvm.org/D40876





More information about the llvm-commits mailing list