diff --git a/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp b/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp index deb0b627225c6..b5b01afb0692d 100644 --- a/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp +++ b/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp @@ -1623,6 +1623,8 @@ bool RISCVFrameLowering::assignCalleeSavedSpillSlots( if ((unsigned)FrameIdx > MaxCSFrameIndex) MaxCSFrameIndex = FrameIdx; CS.setFrameIdx(FrameIdx); + if (RISCVRegisterInfo::isRVVRegClass(RC)) + MFI.setStackID(FrameIdx, TargetStackID::ScalableVector); } // Allocate a fixed object that covers the full push or libcall size.