Commits

Michael Gottesman committed 7ac6831bc64
[func-sig-opts] Eliminate dead arguments that are dead besides an @owned release. This enables dead argument elimination to be paired with @owned -> @guaranteed optimization. It has the additional advantage of allowing us to potentially eliminate additional retains, releases since the fact that the use is dead implies that the lifetime of the value no longer needs to be live across the function call. Since dead argument elimination can be composed with @owned -> @guaranteed, I had to modify the mangler, remangler, demangler, to be able to handle a mangling that combines the two. I just saw noise in the perf test suite. rdar://21114206 Swift SVN r29966