<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 1, 2016, at 5:48 PM, Ben Asher via swift-dev <<a href="mailto:swift-dev@swift.org" class="">swift-dev@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">The build failed compiling 3 files in our project. Our app is crashing that snapshot; here is some output from the failures:</div></div></blockquote><div><br class=""></div>It would be awesome if you could come up with small reproducers for these and open bugs for them. Alternately, opening a radar with the full project attached will give us an opportunity to get these fixed ASAP!</div><div><br class=""></div><div>Mark</div><div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class=""><div class="">- Assertion failed: (newType == type || (isa<TupleType>(newType) && cast<TupleType>(newType)->getN<wbr class="">umElements() == 1 && cast<TupleType>(newType).getEl<wbr class="">ementType(0) == type)), function rewriteType, file /Users/buildn</div><div class="">ode/jenkins/workspace/oss-swif<wbr class="">t-package-osx/swift/lib/SILGen<wbr class="">/RValue.h, line 207.</div></div><div class=""><br class=""></div><div class="">- SIL verification failed: method's Self parameter should be constrained by protocol: selfRequirement.getKind() == RequirementKind::Conformance && selfRequirement.getFirstType()<wbr class="">->isEqual(selfGenericParam) && selfR</div><div class="">equirement.getSecondType()->ge<wbr class="">tAs<ProtocolType>() ->getDecl() == protocol</div><div class=""><br class=""></div><div class="">We're not getting all the way to linking, but compiling everything for that snapshot took ~11min45s. Based on that, it appears that about a minute is saved with the new fixes since the Swift 3.0 that shipped with Xcode 8.1 (App Store).</div><div class=""><br class=""></div><div class="">With Xcode 8.2 Beta 2, the app builds fine, and it takes about 12m15s. If Xcode 8.2 Beta 2 also has those fixes that we expect to speed up the build, the extra time here (compared to the snapshot) could be explained by linking, signing, and a few other custom builds scripts that run after compiling.</div><div class=""><br class=""></div><div class="">Thanks everyone for your help!</div><div class=""><br class=""></div><div class="">Ben</div><div class=""><br class=""></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Dec 1, 2016 at 4:16 PM, Ben Asher <span dir="ltr" class=""><<a href="mailto:benasher44@gmail.com" target="_blank" class="">benasher44@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">I'm trying out DEVELOPMENT-SNAPSHOT-2016-<wbr class="">11-29-a now. It's still going, so I don't have any time results yet. But, I did notice something new (or maybe existed before but didn't have this warning to expose it). For every Swift file that's compiled (only using -Onone here), it outputs the same 2 warnings (easy to fix, but not related to any of this) from the same method in the same Obj-C header referring to the arguments and the return types in that method:<div class=""><br class=""></div><div class="">- "array parameter is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)"</div><div class="">- "inferring '_Nonnull' for pointer type within array is deprecated"</div><div class=""><br class=""></div><div class="">Here's an example of what this method looks like:</div><div class=""><br class=""></div><div class="">+ (NSSet<SomeObject *> *)setWithSELs:(SEL[])sels count:(NSUInteger)count;<br class=""></div><div class=""><br class=""></div><div class="">Could this point to more duplicated work?</div><div class=""><br class=""></div><div class="">Ben</div></div><div class="gmail_extra"><div class=""><div class="h5"><br class=""><div class="gmail_quote">On Thu, Dec 1, 2016 at 2:50 PM, Ben Asher <span dir="ltr" class=""><<a href="mailto:benasher44@gmail.com" target="_blank" class="">benasher44@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">Sure! Thanks for reminding me. I'll follow up on that, test, and get back to you.<div class=""><br class=""></div><div class="">Ben</div></div><div class="gmail_extra"><div class=""><div class="m_1451675957100742507h5"><br class=""><div class="gmail_quote">On Thu, Dec 1, 2016 at 2:48 PM, Mark Lacey <span dir="ltr" class=""><<a href="mailto:mark_lacey@apple.com" target="_blank" class="">mark_lacey@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><br class=""><div class=""><span class=""><blockquote type="cite" class=""><div class="">On Dec 1, 2016, at 3:13 PM, Ben Asher via swift-dev <<a href="mailto:swift-dev@swift.org" target="_blank" class="">swift-dev@swift.org</a>> wrote:</div><br class="m_1451675957100742507m_-4197306237743934690m_-7405406413213661765Apple-interchange-newline"><div class=""><div dir="ltr" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="">Just running a quick trial before and after I made this change in our project, we were previously seeing builds of our main target that took just under 13min. With this hack, a clean debug build takes about 4.5min.</div></div></blockquote><div class=""><br class=""></div></span>You may find that recent snapshot builds from <a href="http://swift.org/" target="_blank" class="">swift.org</a> help with your build times even without enabling -Owholemodule. The redundant type checking of synthesized accessors which we talked about a month or two should now be fixed on master, and it would be great to verify that’s the case with your code and to get an idea of how much it improves your build times.</div><span class="m_1451675957100742507m_-4197306237743934690HOEnZb"><font color="#888888" class=""><div class=""><br class=""></div><div class="">Mark</div></font></span><div class=""><div class="m_1451675957100742507m_-4197306237743934690h5"><div class=""><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><div class=""><br class=""></div><div class="">Ben</div></div><div class="gmail_extra" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br class=""><div class="gmail_quote">On Thu, Dec 1, 2016 at 1:33 PM, Ben Asher<span class="m_1451675957100742507m_-4197306237743934690m_-7405406413213661765Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:benasher44@gmail.com" target="_blank" class="">benasher44@gmail.com</a>></span><span class="m_1451675957100742507m_-4197306237743934690m_-7405406413213661765Apple-converted-space"> </span>w<wbr class="">rote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="">Okay I think that worked! And just to clarify, you meant set SWIFT_OPTIMIZATION_LEVEL = -Owholemodule and OTHER_SWIFT_FLAGS = -Onone ?<div class=""><br class=""></div><div class="">I'll file a radar this afternoon with some details and DM you the number.</div><div class=""><br class=""></div><div class="">Thanks again!</div><div class=""><br class=""></div><div class="">Ben</div></div><div class="gmail_extra"><div class=""><div class="m_1451675957100742507m_-4197306237743934690m_-7405406413213661765h5"><br class=""><div class="gmail_quote">On Thu, Dec 1, 2016 at 1:10 PM, Jordan Rose<span class="m_1451675957100742507m_-4197306237743934690m_-7405406413213661765Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:jordan_rose@apple.com" target="_blank" class="">jordan_rose@apple.com</a>></span><span class="m_1451675957100742507m_-4197306237743934690m_-7405406413213661765Apple-converted-space"> </span>w<wbr class="">rote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Xcode needs to know that you're building in WMO mode, so rather than putting -whole-module-optimization in your "Other Swift Flags", put -Onone there. It's an ugly hack but it should work in the near term.<br class=""><br class="">We do want to work to make this drastic speed difference go away, so if you're able we (at Apple) would love to have a source drop of your Swift 3 project, for additional data on where the problems are. Mind filing a Radar?<br class=""><br class="">Best,<br class="">Jordan<br class=""><div class=""><div class="m_1451675957100742507m_-4197306237743934690m_-7405406413213661765m_-7790787871724555883h5"><br class=""><br class="">> On Dec 1, 2016, at 11:51, Ben Asher via swift-dev <<a href="mailto:swift-dev@swift.org" target="_blank" class="">swift-dev@swift.org</a>> wrote:<br class="">><br class="">> Hello! Someone recently tipped me off to using -whole-module-optimization flag with -Onone for use during debug builds to speed up compile times. In our project, the speedup feels quite dramatic, but when it gets to the linking step (after compiling both Swift and Obj-C in the project) it fails because ld can't find the individual object files that normally get emitted during the debug-type build presumably because -whole-module-optimization only emits one (and this isn't a normal "-Owholemodule"-type build which works fine).<br class="">><br class="">> I can't seem to reproduce this outside of Xcode, but I was curious if anyone has tried this and knows of a workaround to get -whole-module-optimization to work with -Onone in Xcode?<br class="">><br class="">> I'm currently using Xcode 8.1 (App Store build) and Swift 3 on macOS Sierra.<br class="">><br class="">> Thanks!<br class="">><br class="">> Ben<br class=""></div></div>> ______________________________<wbr class="">_________________<br class="">> swift-dev mailing list<br class="">><span class="m_1451675957100742507m_-4197306237743934690m_-7405406413213661765Apple-converted-space"> </span><a href="mailto:swift-dev@swift.org" target="_blank" class="">swift-dev@swift.org</a><br class="">><span class="m_1451675957100742507m_-4197306237743934690m_-7405406413213661765Apple-converted-space"> </span><a href="https://lists.swift.org/mailman/listinfo/swift-dev" rel="noreferrer" target="_blank" class="">https://lists.swift.org/mail<wbr class="">man/listinfo/swift-dev</a><br class=""><br class=""></blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div></div></div><span class="m_1451675957100742507m_-4197306237743934690m_-7405406413213661765HOEnZb"><font color="#888888" class="">--<span class="m_1451675957100742507m_-4197306237743934690m_-7405406413213661765Apple-converted-space"> </span><br class=""><div class="m_1451675957100742507m_-4197306237743934690m_-7405406413213661765m_-7790787871724555883gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class="">Ben</div></div></div></div></font></span></div></blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div>--<span class="m_1451675957100742507m_-4197306237743934690m_-7405406413213661765Apple-converted-space"> </span><br class=""><div class="m_1451675957100742507m_-4197306237743934690m_-7405406413213661765gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class="">Ben</div></div></div></div></div><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">______________________________<wbr class="">_________________</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">swift-dev mailing list</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><a href="mailto:swift-dev@swift.org" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank" class="">swift-dev@swift.org</a><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><a href="https://lists.swift.org/mailman/listinfo/swift-dev" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank" class="">https://lists.swift.org/mailma<wbr class="">n/listinfo/swift-dev</a></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div></div></div><span class="m_1451675957100742507HOEnZb"><font color="#888888" class="">-- <br class=""><div class="m_1451675957100742507m_-4197306237743934690gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class="">Ben</div></div></div></div>
</font></span></div>
</blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div></div></div><span class="HOEnZb"><font color="#888888" class="">-- <br class=""><div class="m_1451675957100742507gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class="">Ben</div></div></div></div>
</font></span></div>
</blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class="">Ben</div></div></div></div>
</div>
_______________________________________________<br class="">swift-dev mailing list<br class=""><a href="mailto:swift-dev@swift.org" class="">swift-dev@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-dev<br class=""></div></blockquote></div><br class=""></body></html>