diff --git a/llvm/lib/CodeGen/MachineInstr.cpp b/llvm/lib/CodeGen/MachineInstr.cpp
index f1c0d8e..2fdc2bc 100644
--- a/llvm/lib/CodeGen/MachineInstr.cpp
+++ b/llvm/lib/CodeGen/MachineInstr.cpp
@@ -1619,11 +1619,8 @@
     }
     if (isDebugValue() && MO.isMetadata()) {
       // Pretty print DBG_VALUE instructions.
-      const MDNode *MD = MO.getMetadata();
-      DIDescriptor DI(MD);
-      DIVariable DIV(MD);
-
-      if (DI.isVariable() && !DIV.getName().empty())
+      DIVariable DIV = dyn_cast<MDLocalVariable>(MO.getMetadata());
+      if (DIV && !DIV.getName().empty())
         OS << "!\"" << DIV.getName() << '\"';
       else
         MO.print(OS, TRI);
@@ -1713,7 +1710,7 @@
   // Print debug location information.
   if (isDebugValue() && getOperand(e - 2).isMetadata()) {
     if (!HaveSemi) OS << ";";
-    DIVariable DV(getOperand(e - 2).getMetadata());
+    DIVariable DV = cast<MDLocalVariable>(getOperand(e - 2).getMetadata());
     OS << " line no:" <<  DV.getLineNumber();
     if (auto *InlinedAt = DV.getInlinedAt()) {
       DebugLoc InlinedAtDL(InlinedAt);
