diff --git a/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp b/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp --- a/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp +++ b/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp @@ -3390,7 +3390,8 @@ // ADDI/ADDI8, we continue to find possible LI/LI8. if (DefMI->getOpcode() == PPC::LI || DefMI->getOpcode() == PPC::LI8) break; - } + } else + DefMI = nullptr; } } } else { @@ -3423,7 +3424,7 @@ if (MO.isReg() && MO.isUse() && !MO.isImplicit()) { Register Reg = MI.getOperand(i).getReg(); // If we see another use of this reg between the def and the MI, - // we want to flat it so the def isn't deleted. + // we want to flag it so the def isn't deleted. MachineInstr *DefMI = getDefMIPostRA(Reg, MI, SeenIntermediateUse); if (DefMI) { // Is this register defined by some form of add-immediate (including