Commits

Michael Gottesman committed 07acb16da8c
[arc-analysis] Add a helper routine getFinalReleasesForValue that determines for a value a set of post-dominating live releases. This is refactored code from AllocBoxToStack with some small forward looking changes. The user passes in a ReleaseTracker object that via a closure decides what users are acceptable. I am going to use this in closure specialization to remove dead closures. The main limitation currently is that the code: 1. Assumes that the user deals with any issues relating to whether or not the value is local. 2. Only visits the direct users of the value instead of visiting the users recursively. This is safe for my uses now since I will only accept users that are retains or releases. These have no uses. The reason why I am leaving in these limitations is I am trying to limit the amount of changes to the code. Swift SVN r25048