Don't assume that only Uses can be kills. Defs are marked as kills initially
[oota-llvm.git] / include / llvm / CodeGen / LiveVariables.h
index ec01556a7e7492d047548ad1683338995867ee20..36b6860cf6a3761555703ad2bb9fac66a44c76cd 100644 (file)
@@ -229,7 +229,7 @@ public:
     bool Removed = false;
     for (unsigned i = 0, e = MI->getNumOperands(); i != e; ++i) {
       MachineOperand &MO = MI->getOperand(i);
-      if (MO.isReg() && MO.isUse() && MO.getReg() == reg) {
+      if (MO.isReg() && MO.isKill() && MO.getReg() == reg) {
         MO.unsetIsKill();
         Removed = true;
         break;