[llvm-commits] [poolalloc] r58521 - /poolalloc/trunk/lib/DSA/TopDownClosure.cpp
Andrew Lenharth
alenhar2 at cs.uiuc.edu
Fri Oct 31 11:15:08 PDT 2008
Author: alenhar2
Date: Fri Oct 31 13:15:08 2008
New Revision: 58521
URL: http://llvm.org/viewvc/llvm-project?rev=58521&view=rev
Log:
global ecs may be formed at the end of inlining due to global-arg binding which were not being handled
Modified:
poolalloc/trunk/lib/DSA/TopDownClosure.cpp
Modified: poolalloc/trunk/lib/DSA/TopDownClosure.cpp
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/DSA/TopDownClosure.cpp?rev=58521&r1=58520&r2=58521&view=diff
==============================================================================
--- poolalloc/trunk/lib/DSA/TopDownClosure.cpp (original)
+++ poolalloc/trunk/lib/DSA/TopDownClosure.cpp Fri Oct 31 13:15:08 2008
@@ -136,6 +136,7 @@
IndCallMap.erase(IndCallMap.begin());
}
+ formGlobalECs();
ArgsRemainIncomplete.clear();
GlobalsGraph->removeTriviallyDeadNodes();
@@ -232,6 +233,17 @@
}
+ {
+ DSGraph* GG = DSG->getGlobalsGraph();
+ ReachabilityCloner RC(GG, DSG,
+ DSGraph::DontCloneCallNodes |
+ DSGraph::DontCloneAuxCallNodes);
+ for (DSScalarMap::global_iterator
+ GI = DSG->getScalarMap().global_begin(),
+ E = DSG->getScalarMap().global_end(); GI != E; ++GI)
+ RC.getClonedNH(DSG->getNodeForValue(*GI));
+ }
+
// Next, now that this graph is finalized, we need to recompute the
// incompleteness markers for this graph and remove unreachable nodes.
DSG->maskIncompleteMarkers();
More information about the llvm-commits
mailing list