diff --git a/lib/CodeGen/MachineBasicBlock.cpp b/lib/CodeGen/MachineBasicBlock.cpp
index ad1ab28..3696387 100644
--- a/lib/CodeGen/MachineBasicBlock.cpp
+++ b/lib/CodeGen/MachineBasicBlock.cpp
@@ -155,11 +155,22 @@
 }
 
 MachineBasicBlock::iterator MachineBasicBlock::getFirstTerminator() {
-  iterator I = end();
-  while (I != begin() && (--I)->getDesc().isTerminator())
-    ; /*noop */
-  if (I != end() && !I->getDesc().isTerminator()) ++I;
-  return I;
+  iterator B = begin(), I = end();
+  iterator Term = I;
+  while (I != B) {
+    --I;
+    // Ignore any debug values after the first terminator.
+    if (I->isDebugValue())
+      continue;
+    // Stop once we see a non-debug non-terminator.
+    if (!I->getDesc().isTerminator())
+      break;
+    // Earliest terminator so far.
+    Term = I;
+  }
+  // Return the first terminator, or end().
+  // Everything after Term is terminators and debug values.
+  return Term;
 }
 
 MachineBasicBlock::iterator MachineBasicBlock::getLastNonDebugInstr() {
