[llvm] 437945b - [AArch64][SVE] Move incorrectly placed assert (#144318)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 17 01:26:56 PDT 2025


Author: Benjamin Maxwell
Date: 2025-06-17T09:26:52+01:00
New Revision: 437945b28838c71fb32a76f6433cef8807967f71

URL: https://github.com/llvm/llvm-project/commit/437945b28838c71fb32a76f6433cef8807967f71
DIFF: https://github.com/llvm/llvm-project/commit/437945b28838c71fb32a76f6433cef8807967f71.diff

LOG: [AArch64][SVE] Move incorrectly placed assert (#144318)

This assert is only valid if FPAfterSVECalleeSaves is true, for the
default layout resolving CSR works correctly.

Added: 
    

Modified: 
    llvm/lib/Target/AArch64/AArch64FrameLowering.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp b/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
index 2650c621e19f6..7ffe779f2408d 100644
--- a/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
+++ b/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
@@ -2896,8 +2896,6 @@ StackOffset AArch64FrameLowering::resolveFrameOffsetReference(
       isTargetWindows(MF) && AFI->getSVECalleeSavedStackSize();
 
   if (isSVE) {
-    assert(-ObjectOffset > (int64_t)AFI->getSVECalleeSavedStackSize() &&
-           "Math isn't correct for CSRs with FPAfterSVECalleeSaves");
     StackOffset FPOffset =
         StackOffset::get(-AFI->getCalleeSaveBaseToFrameRecordOffset(), ObjectOffset);
     StackOffset SPOffset =
@@ -2905,6 +2903,8 @@ StackOffset AArch64FrameLowering::resolveFrameOffsetReference(
         StackOffset::get(MFI.getStackSize() - AFI->getCalleeSavedStackSize(),
                          ObjectOffset);
     if (FPAfterSVECalleeSaves) {
+      assert(-ObjectOffset > (int64_t)AFI->getSVECalleeSavedStackSize() &&
+             "Math isn't correct for CSRs with FPAfterSVECalleeSaves");
       FPOffset += StackOffset::getScalable(AFI->getSVECalleeSavedStackSize());
     }
     // Always use the FP for SVE spills if available and beneficial.


        


More information about the llvm-commits mailing list