Skip to content

Commit 854d924

Browse files
committed
Address comments, also don't attempt further folds if MI was deleted
1 parent 1620005 commit 854d924

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,7 @@ bool RISCVVectorPeephole::foldUndefPassthruVMV_V_V(MachineInstr &MI) {
499499
SrcPolicy.setImm(SrcPolicy.getImm() | RISCVII::TAIL_AGNOSTIC);
500500
}
501501

502-
MRI->replaceRegWith(MI.getOperand(0).getReg(), Src->getOperand(0).getReg());
502+
MRI->replaceRegWith(MI.getOperand(0).getReg(), MI.getOperand(2).getReg());
503503
MI.eraseFromParent();
504504
V0Defs.erase(&MI);
505505
return true;
@@ -616,7 +616,10 @@ bool RISCVVectorPeephole::runOnMachineFunction(MachineFunction &MF) {
616616
Changed |= convertToUnmasked(MI);
617617
Changed |= convertToWholeRegister(MI);
618618
Changed |= convertVMergeToVMv(MI);
619-
Changed |= foldUndefPassthruVMV_V_V(MI);
619+
if (foldUndefPassthruVMV_V_V(MI)) {
620+
Changed |= true;
621+
continue; // MI is erased
622+
}
620623
Changed |= foldVMV_V_V(MI);
621624
}
622625
}

0 commit comments

Comments
 (0)