diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp
index c035723..20352f9 100644
--- a/clang/lib/CodeGen/CodeGenFunction.cpp
+++ b/clang/lib/CodeGen/CodeGenFunction.cpp
@@ -1376,27 +1376,12 @@
   return EmitLValue(E).getAddress();
 }
 
-void CodeGenFunction::EmitValueDeclDbgValue(const ValueDecl *Val,
-                                            llvm::Constant *Init) {
+void CodeGenFunction::EmitDeclRefExprDbgValue(const DeclRefExpr *E,
+                                              llvm::Constant *Init) {
   assert (Init && "Invalid DeclRefExpr initializer!");
-  CGDebugInfo *Dbg = getDebugInfo();
-  if (!Dbg ||
-      CGM.getCodeGenOpts().getDebugInfo() < CodeGenOptions::LimitedDebugInfo)
-    return;
-
-  // Make sure we emit a debug reference to the global variable.
-  if (const VarDecl *VD = dyn_cast<VarDecl>(Val)) {
-    // Do not duplicate DIE entry for local variables; they are not deferred
-    // like global variables are.
-    if (VD->isFileVarDecl() && !getLangOpts().EmitAllDecls &&
-        !getContext().DeclMustBeEmitted(Val))
-      Dbg->EmitGlobalVariable(Init, VD);
-
-  // Make sure we emit a debug reference to an enumerator constant.
-  } else {
-    assert(isa<EnumConstantDecl>(Val));
-    Dbg->EmitEnumConstant(dyn_cast<EnumConstantDecl>(Val));
-  }
+  if (CGDebugInfo *Dbg = getDebugInfo())
+    if (CGM.getCodeGenOpts().getDebugInfo() >= CodeGenOptions::LimitedDebugInfo)
+      Dbg->EmitGlobalVariable(E->getDecl(), Init);
 }
 
 CodeGenFunction::PeepholeProtection
