Commits
Michael Gottesman committed b3d7d3e60e3
[function-signature-opts] Commit initial function sig optimization pass that eliminates dead arguments. The way this pass works is very similar to generic specialization except that it turns the old function into a thunk that calls the newly created function that has had the dead arguments removed. This ensures that any place in the code where we were unable to see that the old function was being called still works and also enables us to cut down on code size increase due to code duplication since the marshalling code for the thunk should be very small. This is just the first part of a larger body of work that optimizes function signatures. The plan is to include transforming loadable pointer args to pass by value and to convert @owned arguments to @gauranteed arguments. <rdar://problem/17319928> Swift SVN r18970