[llvm] [llvm] Support multiple save/restore points in mir (PR #119357)
Elizaveta Noskova via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 17 06:53:20 PDT 2025
================
@@ -820,10 +879,38 @@ class MachineFrameInfo {
void setCalleeSavedInfoValid(bool v) { CSIValid = v; }
- MachineBasicBlock *getSavePoint() const { return Save; }
- void setSavePoint(MachineBasicBlock *NewSave) { Save = NewSave; }
- MachineBasicBlock *getRestorePoint() const { return Restore; }
- void setRestorePoint(MachineBasicBlock *NewRestore) { Restore = NewRestore; }
+ const SaveRestorePoints::PointsMap &getRestorePoints() const {
+ return RestorePoints.get();
+ }
+
+ const SaveRestorePoints::PointsMap &getSavePoints() const {
+ return SavePoints.get();
+ }
+
+ void setSavePoints(SaveRestorePoints::PointsMap NewSavePoints) {
+ SavePoints.set(std::move(NewSavePoints));
+ }
+
+ void setRestorePoints(SaveRestorePoints::PointsMap NewRestorePoints) {
+ RestorePoints.set(std::move(NewRestorePoints));
+ }
+
+ static const SaveRestorePoints::PointsMap constructSaveRestorePoints(
----------------
enoskova-sc wrote:
addressed
https://github.com/llvm/llvm-project/pull/119357
More information about the llvm-commits
mailing list