diff options
author | Chris Lattner <sabre@nondot.org> | 2004-01-27 21:50:41 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-01-27 21:50:41 +0000 |
commit | b529730af0d65eab1f0f63c655b56e30534e043f (patch) | |
tree | 1b159ac609bcb762f75ee915242ee7b34e716164 /llvm/lib | |
parent | 91c33446ca26d25ade69bbc89afcbdde9aa5c2a3 (diff) | |
download | bcm5719-llvm-b529730af0d65eab1f0f63c655b56e30534e043f.tar.gz bcm5719-llvm-b529730af0d65eab1f0f63c655b56e30534e043f.zip |
Get clone flags right, so we don't build InlinedGlobals only to clear them
llvm-svn: 10984
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp | 8 | ||||
-rw-r--r-- | llvm/lib/Analysis/DataStructure/CompleteBottomUp.cpp | 5 |
2 files changed, 5 insertions, 8 deletions
diff --git a/llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp b/llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp index f207c523529..1406da7738a 100644 --- a/llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp +++ b/llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp @@ -187,8 +187,7 @@ unsigned BUDataStructures::calculateGraphs(Function *F, if (&G != SCCGraph) { DSGraph::NodeMapTy NodeMap; SCCGraph->cloneInto(G, SCCGraph->getScalarMap(), - SCCGraph->getReturnNodes(), NodeMap, - DSGraph::UpdateInlinedGlobals); + SCCGraph->getReturnNodes(), NodeMap); // Update the DSInfo map and delete the old graph... DSInfo[*I] = SCCGraph; delete &G; @@ -196,7 +195,7 @@ unsigned BUDataStructures::calculateGraphs(Function *F, } // Clean up the graph before we start inlining a bunch again... - SCCGraph->removeTriviallyDeadNodes(); + SCCGraph->removeDeadNodes(DSGraph::RemoveUnreachableGlobals); // Now that we have one big happy family, resolve all of the call sites in // the graph... @@ -283,7 +282,6 @@ void BUDataStructures::calculateGraph(DSGraph &Graph) { << Graph.getFunctionNames() << "' [" << Graph.getGraphSize() << "+" << Graph.getAuxFunctionCalls().size() << "]\n"); - // Handle self recursion by resolving the arguments and return value Graph.mergeInGraph(CS, *Callee, GI, DSGraph::KeepModRefBits | DSGraph::StripAllocaBit | DSGraph::DontCloneCallNodes); @@ -304,7 +302,7 @@ void BUDataStructures::calculateGraph(DSGraph &Graph) { // Re-materialize nodes from the globals graph. // Do not ignore globals inlined from callees -- they are not up-to-date! - Graph.getInlinedGlobals().clear(); + assert(Graph.getInlinedGlobals().empty()); Graph.updateFromGlobalGraph(); // Recompute the Incomplete markers diff --git a/llvm/lib/Analysis/DataStructure/CompleteBottomUp.cpp b/llvm/lib/Analysis/DataStructure/CompleteBottomUp.cpp index 0cbe0257b56..58327016dc4 100644 --- a/llvm/lib/Analysis/DataStructure/CompleteBottomUp.cpp +++ b/llvm/lib/Analysis/DataStructure/CompleteBottomUp.cpp @@ -141,8 +141,7 @@ unsigned CompleteBUDataStructures::calculateSCCGraphs(DSGraph &FG, ValMap[NG] = ~0U; DSGraph::NodeMapTy NodeMap; - FG.cloneInto(*NG, FG.getScalarMap(), FG.getReturnNodes(), NodeMap, - DSGraph::UpdateInlinedGlobals); + FG.cloneInto(*NG, FG.getScalarMap(), FG.getReturnNodes(), NodeMap); // Update the DSInfo map and delete the old graph... for (DSGraph::ReturnNodesTy::iterator I = NG->getReturnNodes().begin(); @@ -194,7 +193,7 @@ 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! - G.getInlinedGlobals().clear(); + assert(G.getInlinedGlobals().empty()); G.updateFromGlobalGraph(); // Recompute the Incomplete markers |