diff --git a/lib/CodeGen/CalcSpillWeights.cpp b/lib/CodeGen/CalcSpillWeights.cpp
index b8ef219..7da833b 100644
--- a/lib/CodeGen/CalcSpillWeights.cpp
+++ b/lib/CodeGen/CalcSpillWeights.cpp
@@ -64,6 +64,9 @@
       if (mi->getOpcode() == TargetInstrInfo::IMPLICIT_DEF)
         continue;
 
+      if (mi->getOpcode() == TargetInstrInfo::DEBUG_VALUE)
+        continue;
+
       for (unsigned i = 0, e = mi->getNumOperands(); i != e; ++i) {
         const MachineOperand &mopi = mi->getOperand(i);
         if (!mopi.isReg() || mopi.getReg() == 0)
diff --git a/lib/CodeGen/LiveVariables.cpp b/lib/CodeGen/LiveVariables.cpp
index b44a220..23ee8c3 100644
--- a/lib/CodeGen/LiveVariables.cpp
+++ b/lib/CodeGen/LiveVariables.cpp
@@ -543,6 +543,8 @@
     for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end();
          I != E; ++I) {
       MachineInstr *MI = I;
+      if (MI->getOpcode()==TargetInstrInfo::DEBUG_VALUE)
+        continue;
       DistanceMap.insert(std::make_pair(MI, Dist++));
 
       // Process all of the operands of the instruction...
diff --git a/lib/CodeGen/TwoAddressInstructionPass.cpp b/lib/CodeGen/TwoAddressInstructionPass.cpp
index a3f6364..71d9b83 100644
--- a/lib/CodeGen/TwoAddressInstructionPass.cpp
+++ b/lib/CodeGen/TwoAddressInstructionPass.cpp
@@ -318,6 +318,8 @@
     MachineInstr *MI = MO.getParent();
     if (MI->getParent() != MBB)
       continue;
+    if (MI->getOpcode() == TargetInstrInfo::DEBUG_VALUE)
+      continue;
     DenseMap<MachineInstr*, unsigned>::iterator DI = DistanceMap.find(MI);
     if (DI == DistanceMap.end())
       continue;
@@ -341,6 +343,8 @@
     MachineInstr *MI = MO.getParent();
     if (MI->getParent() != MBB)
       continue;
+    if (MI->getOpcode() == TargetInstrInfo::DEBUG_VALUE)
+      continue;
     DenseMap<MachineInstr*, unsigned>::iterator DI = DistanceMap.find(MI);
     if (DI == DistanceMap.end())
       continue;
