[llvm] [llvm] Support multiple save/restore points in mir (PR #119357)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu May 1 08:15:36 PDT 2025
================
@@ -646,6 +647,41 @@ void MIRPrinter::convert(yaml::MachineFunction &MF,
}
}
+void MIRPrinter::convert(ModuleSlotTracker &MST,
+ yaml::SaveRestorePoints &YamlSRPoints,
+ const llvm::SaveRestorePoints::PointsMap &SRPoints,
+ const TargetRegisterInfo *TRI) {
+ auto &Points =
+ std::get<std::vector<yaml::SaveRestorePointEntry>>(YamlSRPoints);
+ for (const auto &MBBEntry : SRPoints) {
+ SmallString<16> Str;
+ yaml::SaveRestorePointEntry Entry;
+ raw_svector_ostream StrOS(Str);
+ StrOS << printMBBReference(*MBBEntry.first);
+ Entry.Point = StrOS.str().str();
+ Str.clear();
+ for (auto &Reg : MBBEntry.second) {
+ if (Reg.getReg() != MCRegister::NoRegister) {
----------------
arsenm wrote:
```suggestion
if (Reg.getReg()) {
```
https://github.com/llvm/llvm-project/pull/119357
More information about the llvm-commits
mailing list