Commits

Chris Lattner committed 46e3b7b656e
Several changes: - Enhance the driver of definite initialization to scalarize copyaddrs that span multiple tuple elements so that DI can only thing of a single element at a time (when it comes to copy_addrs - inout and escapes can span anything of course) - Teach load eliminate to explode copyaddrs into its components when doing so would allow eliminating a load. - Fix a bug where indexing into a tuple inside an enum could cause accesses to be attributed to the wrong element, which manifested as a crash on the testsuite now that DI is being more aggressive. Unfortunately, DI is now exploding some copyaddrs that feed inout shadows, disabling the inout shadow optimization on something important for stdlib/String.swift. This is a regression, but is less important than unblocking work dependent on rdar://15170149, so I'm just dialing back the testcase and tracking this with rdar://15228172. Swift SVN r9345