Commits

Mark Lacey committed 25abe9d7503
Refactor and improve the representation of sets of callees. There is now a separate class to abstract the notion of a set of callees. The class itself is very compact - always a pointer in size, but distinguishes singleton callees, true sets of callees, and in the set case whether that set is incomplete. The sets are cached in the call graph as before, but that cache now caches whether the sets are incomplete or not, which will enable correctly computing and caching that information for method calls so that the call graph can correctly represent whether those are known to be incomplete sets, or whether we really know all the possible callees at a call site. This also hides more implementation details of the call graph, and provides a new interface getCallees() which provides a way to iterate over the SILFunctions rather than CallGraphNodes. More clean-up and refactoring coming in future commits. Swift SVN r32737