[llvm] [llvm][CodeGen] Fix the issue caused by live interval checking in window scheduler (PR #123184)

Hua Tian via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 18 04:33:04 PST 2025


================
@@ -303,6 +303,7 @@ void WindowScheduler::generateTripleMBB() {
       if (Register AntiReg = getAntiRegister(MI))
         DefPairs[MI->getOperand(0).getReg()] = AntiReg;
     auto *NewMI = MF->CloneMachineInstr(MI);
+    Context->LIS->RemoveMachineInstrFromMaps(*NewMI);
----------------
huaatian wrote:

In LLVM's `ModuloScheduleExpander`, the slot index is not effectively maintained. For example, when using LoopInfo and when using `TII->insertBranch`, there is no way to handle slot index information directly.
![image](https://github.com/user-attachments/assets/7f34b1d2-e622-4f90-a9d0-f9ef82f7af6b)
![image](https://github.com/user-attachments/assets/5d01daec-f930-41e9-84a3-9ce8b9815423)
![image](https://github.com/user-attachments/assets/38948793-36c0-4c52-81fe-3fc64cf4f3b2)
![image](https://github.com/user-attachments/assets/dafe4866-b925-477a-9d76-8c209d820d16)


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


More information about the llvm-commits mailing list