[llvm] [llvm][CodeGen] update live intervals for ModuloScheduleExpanderMVE (PR #132677)
Hua Tian via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 7 04:41:02 PDT 2025
================
@@ -2522,18 +2542,19 @@ void ModuloScheduleExpanderMVE::mergeRegUsesAfterPipeline(Register OrigReg,
// remaining iterations) with the route that execute the original loop.
if (!UsesAfterLoop.empty()) {
Register PhiReg = MRI.createVirtualRegister(MRI.getRegClass(OrigReg));
- BuildMI(*NewExit, NewExit->getFirstNonPHI(), DebugLoc(),
- TII->get(TargetOpcode::PHI), PhiReg)
- .addReg(OrigReg)
- .addMBB(OrigKernel)
- .addReg(NewReg)
- .addMBB(Epilog);
+ MachineInstr *NewPhi =
+ BuildMI(*NewExit, NewExit->getFirstNonPHI(), DebugLoc(),
+ TII->get(TargetOpcode::PHI), PhiReg)
+ .addReg(OrigReg)
+ .addMBB(OrigKernel)
+ .addReg(NewReg)
+ .addMBB(Epilog);
+ LIS.InsertMachineInstrInMaps(*NewPhi);
for (MachineOperand *MO : UsesAfterLoop)
MO->setReg(PhiReg);
- if (!LIS.hasInterval(PhiReg))
- LIS.createEmptyInterval(PhiReg);
+ NewVRegs.push_back(PhiReg);
----------------
huaatian wrote:
Updated
https://github.com/llvm/llvm-project/pull/132677
More information about the llvm-commits
mailing list