Commits

Joe Groff committed 033867be575
InOutDeshadowing: Only deshadow inouts that are both loaded from and stored to. Tighten up the analysis in InOutDeshadowing to ensure that the supposed shadow copy is actually stored back to the inout on every exit path. This avoids forwarding address-only inouts into @in arguments, for which we also emit a copy_addr to a stack slot. Fixes <rdar://problem/16105449>. Before and after this patch, we deshadow the same number of copies: 293 inout-deshadow - Number of inout shadow variables kept 207 inout-deshadow - Number of inout shadow variables removed Swift SVN r14108