diff --git a/llvm/lib/Analysis/DataStructure/DataStructure.cpp b/llvm/lib/Analysis/DataStructure/DataStructure.cpp
index c25256a..f930c02 100644
--- a/llvm/lib/Analysis/DataStructure/DataStructure.cpp
+++ b/llvm/lib/Analysis/DataStructure/DataStructure.cpp
@@ -1582,3 +1582,32 @@
   AssertAuxCallNodesInGraph();
 }
 
+// A function useful for clients to incorporate the globals graph
+// into the DS, BU or TD graph for a function.  This code retains
+// all globals, i.e., does not delete unreachable globals after they
+// are inlined.
+//  
+void DSGraph::mergeInGlobalsGraph()
+{
+  NodeMapTy GlobalNodeMap;
+  ScalarMapTy OldValMap;
+  ReturnNodesTy OldRetNodes;
+  this->cloneInto(*GlobalsGraph, OldValMap, OldRetNodes, GlobalNodeMap,
+                  DSGraph::KeepAllocaBit | DSGraph::DontCloneCallNodes |
+                  DSGraph::DontCloneAuxCallNodes);
+  
+  // Now merge existing global nodes in the GlobalsGraph with their copies
+  for (ScalarMapTy::iterator I = ScalarMap.begin(), E = ScalarMap.end(); 
+       I != E; ++I)
+    if (isa<GlobalValue>(I->first)) {             // Found a global node
+      DSNodeHandle &GH = I->second;
+      DSNodeHandle &GGNodeH = GlobalsGraph->getScalarMap()[I->first];
+      GH.mergeWith(GlobalNodeMap[GGNodeH.getNode()]);
+    }
+  
+  // Merging leaves behind unused nodes: get rid of them now.
+  GlobalNodeMap.clear();
+  OldValMap.clear();
+  OldRetNodes.clear();
+  removeTriviallyDeadNodes();
+}
