diff --git a/llvm/lib/CodeGen/LiveRangeEdit.cpp b/llvm/lib/CodeGen/LiveRangeEdit.cpp index 2f65be51bb726..dc1121d7d9e28 100644 --- a/llvm/lib/CodeGen/LiveRangeEdit.cpp +++ b/llvm/lib/CodeGen/LiveRangeEdit.cpp @@ -75,11 +75,11 @@ void LiveRangeEdit::scanRemattable() { Register Original = VRM->getOriginal(getReg()); LiveInterval &OrigLI = LIS.getInterval(Original); VNInfo *OrigVNI = OrigLI.getVNInfoAt(VNI->def); - if (!OrigVNI) + assert(OrigVNI && "Corrupt interval mapping?"); + if (OrigVNI->isPHIDef()) continue; MachineInstr *DefMI = LIS.getInstructionFromIndex(OrigVNI->def); - if (!DefMI) - continue; + assert(DefMI && "Missing instruction for def slot"); if (TII.isReMaterializable(*DefMI)) Remattable.insert(OrigVNI); }