Skip to content

Commit a97e9d5

Browse files
MacDuefschlimb
authored andcommitted
[AArch64][SVE] Move incorrectly placed assert (llvm#144318)
This assert is only valid if FPAfterSVECalleeSaves is true, for the default layout resolving CSR works correctly.
1 parent 35a3a41 commit a97e9d5

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

llvm/lib/Target/AArch64/AArch64FrameLowering.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2896,15 +2896,15 @@ StackOffset AArch64FrameLowering::resolveFrameOffsetReference(
28962896
isTargetWindows(MF) && AFI->getSVECalleeSavedStackSize();
28972897

28982898
if (isSVE) {
2899-
assert(-ObjectOffset > (int64_t)AFI->getSVECalleeSavedStackSize() &&
2900-
"Math isn't correct for CSRs with FPAfterSVECalleeSaves");
29012899
StackOffset FPOffset =
29022900
StackOffset::get(-AFI->getCalleeSaveBaseToFrameRecordOffset(), ObjectOffset);
29032901
StackOffset SPOffset =
29042902
SVEStackSize +
29052903
StackOffset::get(MFI.getStackSize() - AFI->getCalleeSavedStackSize(),
29062904
ObjectOffset);
29072905
if (FPAfterSVECalleeSaves) {
2906+
assert(-ObjectOffset > (int64_t)AFI->getSVECalleeSavedStackSize() &&
2907+
"Math isn't correct for CSRs with FPAfterSVECalleeSaves");
29082908
FPOffset += StackOffset::getScalable(AFI->getSVECalleeSavedStackSize());
29092909
}
29102910
// Always use the FP for SVE spills if available and beneficial.

0 commit comments

Comments
 (0)