Commits

Michael Gottesman committed 6d61aad42e2
[proj] Add a new data structure called a "Projection Tree". A "Projection Tree" takes in a type and constructs a tree where each non-leaf node represents an aggregate that can be split up and all leaf nodes represent a subtype of the original type that we can not split. It additionally provides the capability to propagate usage information and liveness information through the tree, making it trivial to perform SROA + partial dead use elimination. I am using this in function signature opts for that purpose. Swift SVN r23586