mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
Get clone flags right, so we don't build InlinedGlobals only to clear them
llvm-svn: 10984
This commit is contained in:
parent
2ead39d5c8
commit
9117f221b1
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user