[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:51 PDT 2025


================
@@ -747,9 +759,13 @@ void AArch64FrameLowering::emitCalleeSavedSVELocations(
       continue;
 
     StackOffset Offset =
-        StackOffset::getScalable(MFI.getObjectOffset(Info.getFrameIdx())) -
+        StackOffset::getScalable(MFI.getObjectOffset(FI)) -
         StackOffset::getFixed(AFI.getCalleeSavedStackSize(MFI));
 
+    if (AFI.hasSplitSVEObjects() &&
+        MFI.getStackID(FI) == TargetStackID::ScalableVector)
+      Offset -= PPRStackSize;
----------------
sdesmalen-arm wrote:

This can do with a comment explaining that predicate callee-saves are allocated together with GPRs and that's the reason to subtract the PPRStackSize.

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


More information about the llvm-branch-commits mailing list