<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="">
<div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Hi Amara,
<div class=""><br class="">
</div>
<div class="">My reasons for preferring the switch to happen after the release branch is based on the following observations:</div>
<div class="">
<ul class="">
<li class="">As far as I can see, the projects and products following top-of-trunk tend to test much more extensively than the testing that happens for
<a href="http://llvm.org" class="">llvm.org</a> releases. I expect that the <a href="http://llvm.org" class="">
llvm.org</a> release testing won’t find potential remaining issues, whereas the projects and products following trunk are far more likely to find remaining issues with GlobalISel. Therefore, I think it’s best to give as much time as possible for these projects/products
 following top-of-trunk to find issues before there’s an <a href="http://llvm.org" class="">
llvm.org</a> release with GlobalISel enabled-by-default.</li><li class="">For the projects and products that follow top-of-trunk that I know off, if globalisel-by-default would really break things, it’s possible to disable it within that project/product without end users of it needing to know about this. If for the
<a href="http://llvm.org" class="">llvm.org</a> release it would turn out that globalisel has a big issue after release, we’d need to somehow let all users of the release know to disable it by adding a convoluted command line option (‘-mllvm -global-isel=0’?)</li></ul>
</div>
<div class="">Combining the 2 observations above, I think it’s better to do the switch shortly after a release branch is taken, rather than just before it.</div>
<div class=""><br class="">
</div>
<div class="">I hope that makes sense?</div>
<div class=""><br class="">
</div>
<div class="">Thanks,</div>
<div class=""><br class="">
</div>
<div class="">Kristof</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">
<div>
<blockquote type="cite" class="">
<div class="">On 15 Dec 2017, at 19:33, Amara Emerson <<a href="mailto:aemerson@apple.com" class="">aemerson@apple.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">Hi Kristof,<br class="">
<br class="">
We’ve had some more internal discussion and we think that we can, and should, still aim to enable this by default before the release. We have a month of testing time available to shake out critical issues which is normally enough. After the release branch is
 taken we can also merge in any fixes required during the stabilization period.<br class="">
<br class="">
Thanks,<br class="">
Amara<br class="">
<br class="">
<blockquote type="cite" class="">On Dec 15, 2017, at 9:55 AM, Kristof Beyls <<a href="mailto:kristof.beyls@arm.com" class="">kristof.beyls@arm.com</a>> wrote:<br class="">
<br class="">
I don’t know of any further issues preventing us flipping the switch.<br class="">
At this point, I’d aim to flip the switch shortly after the creation of the 6.0.0 release branch, so that GlobalISel can harden a bit more enabled-by-default on trunk before it goes into an LLVM release (presumably 7.0.0 then).<br class="">
<br class="">
Thanks,<br class="">
<br class="">
Kristof<br class="">
<br class="">
<blockquote type="cite" class="">On 11 Dec 2017, at 17:08, Amara Emerson <<a href="mailto:aemerson@apple.com" class="">aemerson@apple.com</a>> wrote:<br class="">
<br class="">
As of r320388 we’ve either fixed the blocker bugs or disabled big-endian on GISel, falling back to SDAG. Fixing at least one of the big-endian issues will need use to change the way we handle aggregates, which will take a bit longer (it’s next on my list of
 things to do).<br class="">
<br class="">
Do we have any other issues preventing us flipping the switch?<br class="">
<br class="">
Amara<br class="">
</blockquote>
<br class="">
</blockquote>
<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</body>
</html>