[llvm] MachineVerifier: Check stack protector is top-most in frame (PR #121481)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 7 07:01:46 PST 2025


================
@@ -4038,3 +4042,44 @@ void MachineVerifier::verifyStackFrame() {
     }
   }
 }
+
+void MachineVerifier::verifyStackProtector() {
+  const MachineFrameInfo &MFI = MF->getFrameInfo();
+  if (!MFI.hasStackProtectorIndex())
+    return;
+  // Only applicable when the offsets of frame objects have been determined,
+  // which is indicated by a non-zero stack size.
+  if (!MFI.getStackSize())
+    return;
+  const TargetFrameLowering &TFI = *MF->getSubtarget().getFrameLowering();
+  bool StackGrowsDown =
+      TFI.getStackGrowthDirection() == TargetFrameLowering::StackGrowsDown;
+  assert(StackGrowsDown && "Only support stack growth down");
----------------
arsenm wrote:

This shouldn't be an assert 

https://github.com/llvm/llvm-project/pull/121481


More information about the llvm-commits mailing list