diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
index 1e77a66..db3ca11 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
@@ -4117,9 +4117,21 @@
       DAG.AddDbgValue(SDV, N.getNode(), isParameter);
     } else {
       // If Address is an arugment then try to emits its dbg value using
-      // virtual register info from the FuncInfo.ValueMap. Otherwise add undef
-      // to help track missing debug info.
+      // virtual register info from the FuncInfo.ValueMap. 
       if (!EmitFuncArgumentDbgValue(Address, Variable, 0, N)) {
+        // If variable is pinned by a alloca in dominating bb then
+        // use StaticAllocaMap.
+        if (const AllocaInst *AI = dyn_cast<AllocaInst>(Address)) {
+          DenseMap<const AllocaInst*, int>::iterator SI =
+            FuncInfo.StaticAllocaMap.find(AI);
+          if (SI != FuncInfo.StaticAllocaMap.end()) {
+            SDV = DAG.getDbgValue(Variable, SI->second,
+                                  0, dl, SDNodeOrder);
+            DAG.AddDbgValue(SDV, 0, false);
+            return 0;
+          }
+        }
+        // Otherwise add undef to help track missing debug info.
         SDV = DAG.getDbgValue(Variable, UndefValue::get(Address->getType()),
                               0, dl, SDNodeOrder);
         DAG.AddDbgValue(SDV, 0, false);
