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

Geoff Berry via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 18 11:59:41 PST 2017


gberry added a comment.

One thing I noticed when looking at this: it seems fragile to me to have MachineFrameInfo::computeMaxCallFrameSize() and PEI::calculateFrameInfo() doing essentially the same calculation with duplicated code.
Would it make sense to add an assert to PEI::calculateFrameInfo that checks that the previously calculated MaxCallFrameSize isn't smaller than the one calculated later?



================
Comment at: lib/Target/AArch64/AArch64FrameLowering.cpp:207
+  // The number 255 is taken from estimateRSStackSizeLimit().
+  if (!MFI.isMaxCallFrameSizeComputed() || MFI.getMaxCallFrameSize() > 255)
+    return true;
----------------
Could you get rid of the magic 255 constant here?


Repository:
  rL LLVM

https://reviews.llvm.org/D40876





More information about the llvm-commits mailing list