[llvm] [llvm] Support multiple save/restore points in mir (PR #119357)
Elizaveta Noskova via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 23 08:34:39 PDT 2025
================
@@ -1087,13 +1130,16 @@ void RISCVFrameLowering::emitEpilogue(MachineFunction &MF,
--MBBI;
}
- const auto &CSI = MFI.getCalleeSavedInfo();
+ const auto &CSI = MFI.getCSInfoPerRestore(&MBB);
// Skip to before the restores of scalar callee-saved registers
// FIXME: assumes exactly one instruction is used to restore each
// callee-saved register.
auto FirstScalarCSRRestoreInsn =
std::next(MBBI, getRVVCalleeSavedInfo(MF, CSI).size());
+ int Distance = getUnmanagedCSI(MF, CSI).size();
+ auto LastFrameDestroy = std::prev(MBBI, Distance);
----------------
enoskova-sc wrote:
no longer actual
https://github.com/llvm/llvm-project/pull/119357
More information about the llvm-commits
mailing list