Remove preexisting kill flags in RegAllocLocal, just like LiveVariables does.
[oota-llvm.git] / lib / CodeGen / RegAllocLocal.cpp
index 920ba5732adce6d32f515c3ac7825a5c66e0c8a1..94456d1438552a18bb3f8a1fe1410f2809b03fc3 100644 (file)
@@ -643,7 +643,10 @@ void RALocal::ComputeLocalLiveness(MachineBasicBlock& MBB) {
       // uses regs before it defs them.
       if (!MO.isReg() || !MO.getReg() || !MO.isUse())
         continue;
-      
+
+      // Ignore helpful kill flags from earlier passes.
+      MO.setIsKill(false);
+
       LastUseDef[MO.getReg()] = std::make_pair(I, i);
       
       if (TargetRegisterInfo::isVirtualRegister(MO.getReg())) continue;