mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-16 14:31:59 +00:00
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
This commit is contained in:
parent
4e46e320a5
commit
d10b5fd395
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user