Commits

Mark Lacey committed 22ed6443339
More groundwork for further improvements to box-to-stack promotion. Drill down into partial_apply to examine how the container pointer is used within the partial_apply. If the uses are not unexpected, and do not allow the container pointer to escape the partial_apply, then we'll check how the partial_apply is used when passed into an apply by drilling down one level into that apply (but no further). If the partial_apply itself cannot escape the current function or any funtion it is passed to, then we should be able to clone the partial_apply body and rewrite it to remove the box container pointer (coming in a future commit). This is all effectively disabled now by passing false to the call to canValueEscape in findUnexpectedBoxUse which disables drilling down into the apply. Swift SVN r15591