Commits

Chris Lattner committed d59a2d0490d
Teach SILGen about NoEscape: - Introduce a new 'noescape' CaptureKind and have getDeclCaptureKind() use it for by-address captures in noescape closures. - Lower NoEscape captures to a simple inout pointer instead of to a pointer + refcount. This includes a test of the SILGen produced code itself along with an integration test that shows that this enables inout deshadowing to remove shadows that would otherwise have to be preserved due to closures capturing them. This can be more aggressive for address-only let constants, but that will wait for a follow-up patch. Swift SVN r24135