[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


================
@@ -1422,46 +1448,47 @@ StackOffset AArch64FrameLowering::resolveFrameOffsetReference(
         SPOffset += StackOffset::getFixed(AFI->getCalleeSavedStackSize());
       }
     }
+
     // Always use the FP for SVE spills if available and beneficial.
     if (hasFP(MF) && (SPOffset.getFixed() ||
                       FPOffset.getScalable() < SPOffset.getScalable() ||
                       RegInfo->hasStackRealignment(MF))) {
       FrameReg = RegInfo->getFrameRegister(MF);
       return FPOffset;
     }
-
     FrameReg = RegInfo->hasBasePointer(MF) ? RegInfo->getBaseRegister()
                                            : (unsigned)AArch64::SP;
+
     return SPOffset;
   }
 
-  StackOffset ScalableOffset = {};
+  StackOffset SVEAreaOffset = {};
----------------
sdesmalen-arm wrote:

(this comment relates to the call to `AFI->getSVECalleeSavedStackSize()`, but Github doesn't allow me to put the comment in the right place)

`getSVECalleeSavedStackSize()` doesn't have any meaning in the context of `hasSplitSVEObjects() == true`. Can you add an assert to that function that `hasSplitSVEObjects() == false` to avoid us from accidentally using that value in places we shouldn't?

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


More information about the llvm-branch-commits mailing list