From: Chris Lattner Date: Wed, 28 Jan 2004 03:07:30 +0000 (+0000) Subject: In the TD pass, don't iterate over the scalar map to find the globals, iterate over X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=34741cf0ddf947132781a42a1613ba20c1d8b9c1;p=oota-llvm.git In the TD pass, don't iterate over the scalar map to find the globals, iterate over the globals directly. This doesn't save any substantial time, however, because the globals graph only contains globals! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10997 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/DataStructure/TopDownClosure.cpp b/lib/Analysis/DataStructure/TopDownClosure.cpp index 01dec2978d1..67ea400dced 100644 --- a/lib/Analysis/DataStructure/TopDownClosure.cpp +++ b/lib/Analysis/DataStructure/TopDownClosure.cpp @@ -62,10 +62,9 @@ bool TDDataStructures::run(Module &M) { // globals graph. const DSGraph::ScalarMapTy &GGSM = GlobalsGraph->getScalarMap(); hash_set Visited; - for (DSGraph::ScalarMapTy::const_iterator I = GGSM.begin(), E = GGSM.end(); + for (DSScalarMap::global_iterator I = GGSM.global_begin(), E = GGSM.global_end(); I != E; ++I) - if (isa(I->first)) - markReachableFunctionsExternallyAccessible(I->second.getNode(), Visited); + markReachableFunctionsExternallyAccessible(GGSM.find(*I)->second.getNode(), Visited); // Loop over unresolved call nodes. Any functions passed into (but not // returned!) from unresolvable call nodes may be invoked outside of the