[llvm] [AArch64] Initial compiler support for SVE unwind on Windows. (PR #138609)

Benjamin Maxwell via llvm-commits llvm-commits at lists.llvm.org
Wed May 7 03:58:53 PDT 2025


================
@@ -2757,10 +2853,27 @@ StackOffset AArch64FrameLowering::resolveFrameOffsetReference(
   }
 
   StackOffset ScalableOffset = {};
-  if (UseFP && !(isFixed || isCSR))
-    ScalableOffset = -SVEStackSize;
-  if (!UseFP && (isFixed || isCSR))
-    ScalableOffset = SVEStackSize;
+  bool FPAfterSVECalleeSaves =
----------------
MacDue wrote:

With `"frame-pointer"="all"`, I think the addresses of SVE locals are incorrect. For example, the `f4` test function resolves the offset as:
```
	sub	x1, x29, #8
	mov	x0, sp
	addvl	x1, x1, #-18
```
Which is subtracting the size of the SVE callee-saves that are above the FP.

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


More information about the llvm-commits mailing list