diff options
Diffstat (limited to 'lib/Analysis/DataStructure/TopDownClosure.cpp')
-rw-r--r-- | lib/Analysis/DataStructure/TopDownClosure.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Analysis/DataStructure/TopDownClosure.cpp b/lib/Analysis/DataStructure/TopDownClosure.cpp index da9bc7c134..b867f7edff 100644 --- a/lib/Analysis/DataStructure/TopDownClosure.cpp +++ b/lib/Analysis/DataStructure/TopDownClosure.cpp @@ -186,9 +186,10 @@ void TDDataStructures::calculateGraph(Function &F) { // Recompute the Incomplete markers and eliminate unreachable nodes. CG.maskIncompleteMarkers(); - CG.markIncompleteNodes(/*markFormals*/ !F.hasInternalLinkage() + CG.markIncompleteNodes(F.hasInternalLinkage() ? DSGraph::IgnoreFormalArgs: + DSGraph::MarkFormalArgs /*&& FIXME: NEED TO CHECK IF ALL CALLERS FOUND!*/); - CG.removeDeadNodes(); + CG.removeDeadNodes(DSGraph::RemoveUnreachableGlobals); } DEBUG(std::cerr << " [TD] Done inlining into callees for: " << F.getName() |