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;
}
// 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...
<< 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);
// 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
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();
// 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