[llvm] [llvm] Support multiple save/restore points in mir (PR #119357)

Elizaveta Noskova via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 21 09:21:15 PDT 2025


================
@@ -74,6 +74,34 @@ class CalleeSavedInfo {
   bool isSpilledToReg()                    const { return SpilledToReg; }
 };
 
+class SaveRestorePoints {
+public:
+  using PointsMap = DenseMap<MachineBasicBlock *, std::vector<CalleeSavedInfo>>;
+
+private:
+  PointsMap Map;
+
+public:
+  const PointsMap &get() const { return Map; }
+
+  const std::vector<CalleeSavedInfo> getCSInfo(MachineBasicBlock *MBB) const {
----------------
enoskova-sc wrote:

Lookup here returns a default constructed vector, if MBB isn't found, ref on this vector is dangling.

https://github.com/llvm/llvm-project/pull/119357


More information about the llvm-commits mailing list