There is no need to merge the globals graph into the function graphs at the
authorChris Lattner <sabre@nondot.org>
Fri, 20 Feb 2004 23:52:15 +0000 (23:52 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 20 Feb 2004 23:52:15 +0000 (23:52 +0000)
end of the BU and CBU passes.  The globals will be marked incomplete, so it
doesn't matter if they are missing some info, and merging isn't guaranteed
to bring everything in anyway!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11684 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/DataStructure/BottomUpClosure.cpp
lib/Analysis/DataStructure/CompleteBottomUp.cpp

index ec8e2b6bef6999e4fd4809fe34963395109c6cf7..fceb1ded59a13ee0372fb964b836f4adbc23c80b 100644 (file)
@@ -320,12 +320,8 @@ void BUDataStructures::calculateGraph(DSGraph &Graph) {
 
   TempFCs.clear();
 
-  // Re-materialize nodes from the globals graph.
-  // Do not ignore globals inlined from callees -- they are not up-to-date!
-  assert(Graph.getInlinedGlobals().empty());
-  Graph.updateFromGlobalGraph();
-
   // Recompute the Incomplete markers
+  assert(Graph.getInlinedGlobals().empty());
   Graph.maskIncompleteMarkers();
   Graph.markIncompleteNodes(DSGraph::MarkFormalArgs);
 
index 1755c8574fc23fcc843eb82ab6a11941dffeecc8..df700d24f8a495e4341f1b4e4b87a86511c9eca0 100644 (file)
@@ -168,6 +168,7 @@ unsigned CompleteBUDataStructures::calculateSCCGraphs(DSGraph &FG,
 /// processGraph - Process the BU graphs for the program in bottom-up order on
 /// the SCC of the __ACTUAL__ call graph.  This builds "complete" BU graphs.
 void CompleteBUDataStructures::processGraph(DSGraph &G) {
+
   // The edges out of the current node are the call site targets...
   for (unsigned i = 0, e = G.getFunctionCalls().size(); i != e; ++i) {
     const DSCallSite &CS = G.getFunctionCalls()[i];
@@ -192,12 +193,8 @@ void CompleteBUDataStructures::processGraph(DSGraph &G) {
     }
   }
 
-  // Re-materialize nodes from the globals graph.
-  // Do not ignore globals inlined from callees -- they are not up-to-date!
-  assert(G.getInlinedGlobals().empty());
-  G.updateFromGlobalGraph();
-
   // Recompute the Incomplete markers
+  assert(G.getInlinedGlobals().empty());
   G.maskIncompleteMarkers();
   G.markIncompleteNodes(DSGraph::MarkFormalArgs);