Functions reachable from the arguments of unresolvable call nodes should
not have their arguments marked complete
llvm-svn: 8639
diff --git a/llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp b/llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp
index 5019d90..95de8e4 100644
--- a/llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp
+++ b/llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp
@@ -51,7 +51,10 @@
// At the end of the bottom-up pass, the globals graph becomes complete.
// FIXME: This is not the right way to do this, but it is sorta better than
- // nothing!
+ // nothing! In particular, externally visible globals and unresolvable call
+ // nodes at the end of the BU phase should make things that they point to
+ // incomplete in the globals graph.
+ //
GlobalsGraph->maskIncompleteMarkers();
return false;
}