diff --git a/llvm/lib/CodeGen/InlineSpiller.cpp b/llvm/lib/CodeGen/InlineSpiller.cpp index ee08dc42dce5..98c56f739ad4 100644 --- a/llvm/lib/CodeGen/InlineSpiller.cpp +++ b/llvm/lib/CodeGen/InlineSpiller.cpp @@ -1657,7 +1657,7 @@ void HoistSpillHelper::hoistAllSpills() { for (unsigned i = 0, e = MRI.getNumVirtRegs(); i != e; ++i) { Register Reg = Register::index2VirtReg(i); Register Original = VRM.getPreSplitReg(Reg); - if (!MRI.def_empty(Reg)) + if (!MRI.def_empty(Reg) && Original.isValid()) Virt2SiblingsMap[Original].insert(Reg); }