================
@@ -151,11 +151,21 @@ bool LiveRangeEdit::foldAsLoad(LiveInterval *LI,
if (UseMI->readsWritesVirtualRegister(LI->reg(), &Ops).second)
return false;
- MachineInstr *FoldMI = TII.foldMemoryOperand(*UseMI, Ops, *DefMI, &LIS);
+ MachineInstr *CopyMI = nullptr;
+ MachineInstr *FoldMI =
+ TII.foldMemoryOperand(*UseMI, Ops, *DefMI, CopyMI, &LIS);
if (!FoldMI)
return false;
LLVM_DEBUG(dbgs() << " folded: " << *FoldMI);
- LIS.ReplaceMachineInstrInMaps(*UseMI, *FoldMI);
+ SlotIndex FoldIdx = LIS.ReplaceMachineInstrInMaps(*UseMI, *FoldMI);
+ if (CopyMI) {
+ SlotIndex CopyIdx = LIS.InsertMachineInstrInMaps(*CopyMI).getRegSlot();
+ if (!MRI.isSSA()) {
----------------
phoebewang wrote:
Thanks for the reminder, fixed.
https://github.com/llvm/llvm-project/pull/191368
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits