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
This commit is contained in:
Chris Lattner 2004-01-28 03:07:30 +00:00
parent bdce7b7844
commit 34741cf0dd

View File

@ -62,10 +62,9 @@ bool TDDataStructures::run(Module &M) {
// globals graph.
const DSGraph::ScalarMapTy &GGSM = GlobalsGraph->getScalarMap();
hash_set<DSNode*> 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<GlobalValue>(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