[PATCH] D19896: [ARM] Fix Scavenger assert due to underestimated stack size

Renato Golin via llvm-commits llvm-commits at lists.llvm.org
Fri May 6 14:18:08 PDT 2016


rengolin added inline comments.

================
Comment at: lib/Target/ARM/ARMFrameLowering.cpp:1620
@@ -1609,4 +1619,3 @@
   //        worth the effort and added fragility?
-  bool BigStack = (RS && (MFI->estimateStackSize(MF) +
-                              ((hasFP(MF) && AFI->hasStackFrame()) ? 4 : 0) >=
-                          estimateRSStackSizeLimit(MF, this))) ||
+  assert(RS && "Register scavenging not provided");
+  unsigned EstimatedStackSize =
----------------
RS is not used here, this assert is not really meaningful and should be moved to where it's actually used.

================
Comment at: lib/Target/ARM/ARMFrameLowering.cpp:1629
@@ +1628,3 @@
+    // size of arguments into the estimation.
+    EstimatedStackSize += MF.getInfo<ARMFunctionInfo>()->getArgumentStackSize();
+  EstimatedStackSize += 16; // For possible paddings.
----------------
please add { } around this block, too.


http://reviews.llvm.org/D19896





More information about the llvm-commits mailing list