[llvm-branch-commits] [llvm] [AArch64][SME] Support split ZPR and PPR area allocation (PR #142392)

Sander de Smalen via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Sep 29 03:14:52 PDT 2025


================
@@ -1251,9 +1260,17 @@ AArch64FrameLowering::getFrameIndexReferenceFromSP(const MachineFunction &MF,
       isTargetWindows(MF) && AFI->getSVECalleeSavedStackSize();
   if (MFI.isScalableStackID(FI)) {
     if (FPAfterSVECalleeSaves &&
-        -ObjectOffset <= (int64_t)AFI->getSVECalleeSavedStackSize())
+        -ObjectOffset <= (int64_t)AFI->getSVECalleeSavedStackSize()) {
+      assert(!AFI->hasSplitSVEObjects() &&
+             "split-sve-objects not supported with FPAfterSVECalleeSaves");
       return StackOffset::getScalable(ObjectOffset);
-    return StackOffset::get(-((int64_t)AFI->getCalleeSavedStackSize()),
+    }
+    StackOffset AccessOffset{};
+    if (AFI->hasSplitSVEObjects() &&
----------------
sdesmalen-arm wrote:

Can you add a comment explaining here why the PPR stack size must be subtracted?

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


More information about the llvm-branch-commits mailing list