aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-02-20 23:52:15 +0000
committerChris Lattner <sabre@nondot.org>2004-02-20 23:52:15 +0000
commitd10b5fd395e2c4390c669e1caad98f5f491eb7b6 (patch)
tree3ba24d1f1d86cd6bcbfc2382e8c95a87f28afd8c
parent4e46e320a5f502559744ddeab2cad831cdd3056a (diff)
There is no need to merge the globals graph into the function graphs at the
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
-rw-r--r--lib/Analysis/DataStructure/BottomUpClosure.cpp6
-rw-r--r--lib/Analysis/DataStructure/CompleteBottomUp.cpp7
2 files changed, 3 insertions, 10 deletions
diff --git a/lib/Analysis/DataStructure/BottomUpClosure.cpp b/lib/Analysis/DataStructure/BottomUpClosure.cpp
index ec8e2b6bef..fceb1ded59 100644
--- a/lib/Analysis/DataStructure/BottomUpClosure.cpp
+++ b/lib/Analysis/DataStructure/BottomUpClosure.cpp
@@ -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);
diff --git a/lib/Analysis/DataStructure/CompleteBottomUp.cpp b/lib/Analysis/DataStructure/CompleteBottomUp.cpp
index 1755c8574f..df700d24f8 100644
--- a/lib/Analysis/DataStructure/CompleteBottomUp.cpp
+++ b/lib/Analysis/DataStructure/CompleteBottomUp.cpp
@@ -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);