If MI is deleted then remove it from the set. If a new MI is created, it could
[oota-llvm.git] / lib / CodeGen / RegAllocBasic.cpp
index a97b9b6b40c4ec85a9a55ae81bf0743f7a925698..5496d69fd3df1aa381faee2de9cdb4a3b9911100 100644 (file)
@@ -498,8 +498,9 @@ unsigned RABasic::selectOrSplit(LiveInterval &VirtReg,
       // Found an available register.
       return PhysReg;
     }
+    Queries[interfReg].collectInterferingVRegs(1);
     LiveInterval *interferingVirtReg =
-      Queries[interfReg].firstInterference().liveUnionPos().value();
+      Queries[interfReg].interferingVRegs().front();
 
     // The current VirtReg must either be spillable, or one of its interferences
     // must have less spill weight.