diff --git a/lib/Analysis/DataStructure/BottomUpClosure.cpp b/lib/Analysis/DataStructure/BottomUpClosure.cpp index f207c523529..1406da7738a 100644 --- a/lib/Analysis/DataStructure/BottomUpClosure.cpp +++ b/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/lib/Analysis/DataStructure/CompleteBottomUp.cpp b/lib/Analysis/DataStructure/CompleteBottomUp.cpp index 0cbe0257b56..58327016dc4 100644 --- a/lib/Analysis/DataStructure/CompleteBottomUp.cpp +++ b/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