[PATCH] D41131: [AArch64] Implement stack probing for windows

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 19 14:21:11 PST 2017


mstorsjo added a comment.

In https://reviews.llvm.org/D41131#960031, @compnerd wrote:

> Please do add the docs that the large code model behavior is an extension.


I did add a section to `docs/Extensions.rst` about this



================
Comment at: lib/Target/AArch64/AArch64FrameLowering.cpp:367
   // callee-save save/restores
-  if (StackBumpBytes >= 512)
+  if (StackBumpBytes >= 512 || windowsRequiresStackProbe(MF, StackBumpBytes))
     return false;
----------------
compnerd wrote:
> Why not just combine these into a single `requiresStackProbe`?
I think I'd rather keep them separate like this, since they're there for quite different reasons - the 512 byte limit doesn't have anything to do with stack probing.


================
Comment at: lib/Target/AArch64/AArch64FrameLowering.cpp:498
   int NumBytes = (int)MFI.getStackSize();
-  if (!AFI->hasStackFrame()) {
+  if (!AFI->hasStackFrame() && !windowsRequiresStackProbe(MF, NumBytes)) {
     assert(!HasFP && "unexpected function without stack frame but with FP");
----------------
compnerd wrote:
> Same.
Not quite sure how you mean I should try to merge these


https://reviews.llvm.org/D41131





More information about the llvm-commits mailing list