[MCJIT] Rewrite RuntimeDyldMachO and its derived classes to use the 'Offset'
[oota-llvm.git] / lib / CodeGen / MachineSink.cpp
index edf8fc0645bf6105d450b617ba9719ff941cda20..77820010cef0276ee98772024031e69c08091739 100644 (file)
@@ -724,19 +724,9 @@ bool MachineSinking::SinkInstruction(MachineInstr *MI, bool &SawStore) {
                          ++MachineBasicBlock::iterator(DbgMI));
   }
 
-  // When sinking the instruction the live time of its operands can be extended
-  // bejond their original last use (marked with a kill flag). Conservatively
-  // clear the kill flag in all instructions that use the same operand
-  // registers.
-  for (auto &MO : MI->uses())
-    if (MO.isReg() && MO.isUse()) {
-      // Preserve the kill flag for this instruction.
-      bool IsKill = MO.isKill();
-      // Clear the kill flag in all instruction that use this operand.
-      MRI->clearKillFlags(MO.getReg());
-      // Restore the kill flag for only this instruction.
-      MO.setIsKill(IsKill);
-    }
+  // Conservatively, clear any kill flags, since it's possible that they are no
+  // longer correct.
+  MI->clearKillInfo();
 
   return true;
 }