<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
I've kicked off a run to compare "-O0 -g" versus "-O0 -g -mllvm -global-isel -mllvm -global-isel-abort=2".
<div class="">I've selected the test-suite (albeit a version which is a couple of months old now) and a few short-running proprietary benchmarks to get data back quickly for an initial feel of where things are.</div>
<div class="">This was running on Cortex-A57 AArch64 Linux.</div>
<div class=""><br class="">
</div>
<div class="">I saw one assertion failure in GlobalISel, see <a href="http://bugs.llvm.org/show_bug.cgi?id=32471" class="">http://bugs.llvm.org/show_bug.cgi?id=32471</a>. This is in a program compiled at -O2 (my out-dated test-suite still overrides -O0 and
 instead uses -O for that program). The root cause of the failure seems to be due to LowLevelType not supporting vectors of pointers. I think this demonstrates that for correctness, we should be trying to test more than -O0, or even more than just LLVM-IR produced
 by clang, as other front-ends could run into this even at -O0.</div>
<div class=""><br class="">
</div>
<div class="">Due to this assertion failure and the infrastructure I used, the numbers below do not include test-suite/MultiSource/Benchmarks results.</div>
<div class=""><br class="">
</div>
<div class="">On the non-correctness aspects, LNT tells me that:</div>
<div class="">- The programs that report execution time, on geomean are about 17% slower.</div>
<div class="">- The programs that report scores, on geomean are about 21% slower.</div>
<div class="">- Code size is up on geomean about 11%.</div>
<div class="">I'm afraid I don't have compile time numbers, nor any feel for debug info quality.</div>
<div class=""><br class="">
</div>
<div class="">I'll need quite a bit more time to dig into the details to come up with something actionable, although the fact that LowLevelType doesn't support vectors of pointers is already actionable.</div>
<div class="">Nevertheless, I thought to share what I see as is, to see if others see similar results so far.</div>
<div class=""><br class="">
</div>
<div class="">I thought Diana was going to look into fallback rate on the test-suite on AArch64 linux?</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>
<blockquote type="cite" class="">
<div class="">On 30 Mar 2017, at 10:54, Renato Golin <<a href="mailto:renato.golin@linaro.org" class="">renato.golin@linaro.org</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">On 30 March 2017 at 00:27, Quentin Colombet <<a href="mailto:qcolombet@apple.com" class="">qcolombet@apple.com</a>> wrote:<br class="">
<blockquote type="cite" class="">On iOS we are at 100% pass rate in 00 g for the LLVM test suite, standard<br class="">
benchmarks and unit tests. In about 5% of all functions GlobalIsel falls<br class="">
back to SDIsel.<br class="">
(Kristof Beyls would have the linux numbers.)<br class="">
The self host compiler correctly builds and runs the LLVM test suite in O0.<br class="">
</blockquote>
<br class="">
Having done no tests at all on my side, I think we need to have<br class="">
similar numbers on Linux to be able to flip across the board.<br class="">
<br class="">
I don't want to flip it only for Darwin and not Linux, as that will<br class="">
fragment the effort too much.<br class="">
<br class="">
I'll check with Diana and Kristof to know what's the best way forward,<br class="">
but it should be reasonably quick.<br class="">
<br class="">
cheers,<br class="">
--renato<br class="">
</div>
</blockquote>
</div>
<br class="">
</body>
</html>