Re-enable kill flags from SelectionDAGISel, with a fix: don't
try to put a kill flag on a DBG_INFO instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102820 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/SelectionDAG/InstrEmitter.cpp b/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
index 5f0c0e8..1d44ff6 100644
--- a/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
+++ b/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
@@ -296,7 +296,6 @@
     }
   }
 
-#if 0
   // If this value has only one use, that use is a kill. This is a
   // conservative approximation. Tied operands are never killed, so we need
   // to check that. And that means we need to determine the index of the
@@ -306,10 +305,7 @@
          MI->getOperand(Idx-1).isReg() && MI->getOperand(Idx-1).isImplicit())
     --Idx;
   bool isTied = MI->getDesc().getOperandConstraint(Idx, TOI::TIED_TO) != -1;
-  bool isKill = Op.hasOneUse() && !isTied;
-#else
-  bool isKill = false;
-#endif
+  bool isKill = Op.hasOneUse() && !isTied && !IsDebug;
 
   MI->addOperand(MachineOperand::CreateReg(VReg, isOptDef,
                                            false/*isImp*/, isKill,