<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="">Hi,<div class=""><br class=""></div><div class="">I ran testing for compile time on CTMark, the numbers are below:</div><div class=""><div class=""><br class=""></div><div class=""><font face="Menlo" class="">==== O0-g ====</font></div><div class=""><font face="Menlo" class="">7zip/7zip-benchmark<span class="Apple-tab-span" style="white-space: pre;"> </span>-1.5%</font></div><div class=""><font face="Menlo" class="">Bullet/bullet<span class="Apple-tab-span" style="white-space:pre"> </span>-1.4%</font></div><div class=""><font face="Menlo" class="">ClamAV/clamscan<span class="Apple-tab-span" style="white-space:pre"> </span>-1.5%</font></div><div class=""><font face="Menlo" class="">SPASS/SPASS<span class="Apple-tab-span" style="white-space:pre"> </span>-1.9%</font></div><div class=""><font face="Menlo" class="">consumer-typeset/consumer-typeset<span class="Apple-tab-span" style="white-space:pre"> </span>-2.8%</font></div><div class=""><font face="Menlo" class="">kimwitu++/kc<span class="Apple-tab-span" style="white-space:pre"> </span>0.0%</font></div><div class=""><font face="Menlo" class="">lencod/lencod<span class="Apple-tab-span" style="white-space:pre"> </span>-1.9%</font></div><div class=""><font face="Menlo" class="">mafft/pairlocalalign<span class="Apple-tab-span" style="white-space:pre"> </span>-2.1%</font></div><div class=""><font face="Menlo" class="">sqlite3/sqlite3<span class="Apple-tab-span" style="white-space:pre"> </span>-3.6%</font></div><div class=""><font face="Menlo" class="">tramp3d-v4/tramp3d-v4<span class="Apple-tab-span" style="white-space:pre"> </span>-1.7%</font></div><div class=""><font face="Menlo" class="">Geomean<span class="Apple-tab-span" style="white-space:pre"> </span>-1.9%</font></div><div class=""><font face="Menlo" class=""><br class=""></font></div><div class=""><font face="Menlo" class="">==== Os ====</font></div><div class=""><font face="Menlo" class="">7zip/7zip-benchmark<span class="Apple-tab-span" style="white-space: pre;"> </span>-8.2%</font></div><div class=""><font face="Menlo" class="">Bullet/bullet<span class="Apple-tab-span" style="white-space:pre"> </span>-5.7%</font></div><div class=""><font face="Menlo" class="">ClamAV/clamscan<span class="Apple-tab-span" style="white-space:pre"> </span>-2.2%</font></div><div class=""><font face="Menlo" class="">SPASS/SPASS<span class="Apple-tab-span" style="white-space:pre"> </span>-3.8%</font></div><div class=""><font face="Menlo" class="">consumer-typeset/consumer-typeset<span class="Apple-tab-span" style="white-space:pre"> </span>-5.7%</font></div><div class=""><font face="Menlo" class="">kimwitu++/kc<span class="Apple-tab-span" style="white-space:pre"> </span>-7.0%</font></div><div class=""><font face="Menlo" class="">lencod/lencod<span class="Apple-tab-span" style="white-space:pre"> </span>-2.3%</font></div><div class=""><font face="Menlo" class="">mafft/pairlocalalign<span class="Apple-tab-span" style="white-space:pre"> </span>-3.7%</font></div><div class=""><b class=""><font face="Menlo" class="">sqlite3/sqlite3<span class="Apple-tab-span" style="white-space:pre"> </span>16.1%</font></b></div><div class=""><font face="Menlo" class="">tramp3d-v4/tramp3d-v4<span class="Apple-tab-span" style="white-space:pre"> </span>-8.9%</font></div><div class=""><div class=""><font face="Menlo" class="">Geomean<span class="Apple-tab-span" style="white-space: pre;"> </span>-3.4%</font></div></div><div class=""><font face="Menlo" class=""><br class=""></font></div><div class=""><font face="Menlo" class="">==== O3 ====</font></div><div class=""><font face="Menlo" class="">7zip/7zip-benchmark<span class="Apple-tab-span" style="white-space: pre;"> </span>-13.7%</font></div><div class=""><font face="Menlo" class="">Bullet/bullet<span class="Apple-tab-span" style="white-space:pre"> </span>-8.3%</font></div><div class=""><font face="Menlo" class="">ClamAV/clamscan<span class="Apple-tab-span" style="white-space:pre"> </span>-6.8%</font></div><div class=""><font face="Menlo" class="">SPASS/SPASS<span class="Apple-tab-span" style="white-space:pre"> </span>-7.2%</font></div><div class=""><font face="Menlo" class="">consumer-typeset/consumer-typeset<span class="Apple-tab-span" style="white-space:pre"> </span>-9.6%</font></div><div class=""><b class=""><font face="Menlo" class="">kimwitu++/kc<span class="Apple-tab-span" style="white-space:pre"> </span>31.3%</font></b></div><div class=""><font face="Menlo" class="">lencod/lencod<span class="Apple-tab-span" style="white-space:pre"> </span>-7.3%</font></div><div class=""><font face="Menlo" class="">mafft/pairlocalalign<span class="Apple-tab-span" style="white-space:pre"> </span>-11.2%</font></div><div class=""><font face="Menlo" class="">sqlite3/sqlite3<span class="Apple-tab-span" style="white-space:pre"> </span>5.1%</font></div><div class=""><font face="Menlo" class="">tramp3d-v4/tramp3d-v4<span class="Apple-tab-span" style="white-space:pre"> </span>1.9%</font></div><div class=""><div class=""><font face="Menlo" class="">Geomean<span class="Apple-tab-span" style="white-space: pre;"> </span>-3.3%</font></div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">So, in general, it's a win, but there are a couple of big outliers: sqlite3 on Os and kimwitu++/kc on O3. It would be good to understand if we can avoid these slowdowns.</div><div class=""><br class=""></div><div class="">Michael</div><div class=""><br class=""></div><div><blockquote type="cite" class=""><div class="">On Oct 26, 2017, at 10:13 AM, Evgeny Astigeevich via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="WordSection1" style="page: WordSection1; 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; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">Hi,<o:p class=""></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""><o:p class=""> </o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">I’ve got results of our private benchmarks. Clang options were the same. There are a few regressions. The biggest regression is 8.24%. We’ve got a lot of improvements in scores and code size. The biggest score improvement is 22.07%. The biggest code size improvement is 16.10%. Benchmark binaries are quite big: improved ones are greater than 1 Mbytes.<o:p class=""></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""><o:p class=""> </o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">I’ll check impact on AArch32 and investigate 1000% regression.<o:p class=""></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""><o:p class=""> </o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">Thanks,<o:p class=""></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">Evgeny Astigeevich <o:p class=""></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""><o:p class=""> </o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""><o:p class=""> </o:p></span></div><div style="border-style: solid none none; border-top-width: 1pt; border-top-color: rgb(181, 196, 223); padding: 3pt 0in 0in;" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><b class=""><span style="font-size: 12pt;" class="">From:<span class="Apple-converted-space"> </span></span></b><span style="font-size: 12pt;" class="">Hal Finkel <<a href="mailto:hfinkel@anl.gov" style="color: purple; text-decoration: underline;" class="">hfinkel@anl.gov</a>><br class=""><b class="">Organization:<span class="Apple-converted-space"> </span></b>Argonne National Laboratory<br class=""><b class="">Date:<span class="Apple-converted-space"> </span></b>Wednesday, 25 October 2017 at 18:38<br class=""><b class="">To:<span class="Apple-converted-space"> </span></b>Evgeny Astigeevich <<a href="mailto:Evgeny.Astigeevich@arm.com" class="">Evgeny.Astigeevich@arm.com</a>>, Chandler Carruth <<a href="mailto:chandlerc@gmail.com" class="">chandlerc@gmail.com</a>><br class=""><b class="">Cc:<span class="Apple-converted-space"> </span></b>llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>>, nd <<a href="mailto:nd@arm.com" class="">nd@arm.com</a>><br class=""><b class="">Subject:<span class="Apple-converted-space"> </span></b>Re: [llvm-dev] RFC: Switching to the new pass manager by default<o:p class=""></o:p></span></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div></div><p style="margin-right: 0in; margin-left: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></p><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">On 10/25/2017 12:32 PM, Evgeny Astigeevich wrote:<o:p class=""></o:p></div></div><blockquote style="margin-top: 5pt; margin-bottom: 5pt;" class="" type="cite"><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">Hi Hal,</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""> </span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">I quickly checked the execution profile. It is real. The code changed significantly. A number of the hottest regions changed. I’ll compare IRs.</span><o:p class=""></o:p></div></blockquote><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><br class="">Thanks. Obviously a 1000% execution performance regression seems problematic.<br class=""><br class=""> -Hal<br class=""><br class=""><br class=""><o:p class=""></o:p></div><blockquote style="margin-top: 5pt; margin-bottom: 5pt;" class="" type="cite"><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">JFYI FreeBench/fourinarow time graph:<span class="Apple-converted-space"> </span><a href="http://lnt.llvm.org/db_default/v4/nts/graph?highlight_run=76922&plot.1604615=1349.1604615.3" style="color: purple; text-decoration: underline;" class="">http://lnt.llvm.org/db_default/v4/nts/graph?highlight_run=76922&plot.1604615=1349.1604615.3</a></span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">Its graph in our LNT is more stable.</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""> </span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">Thanks,</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">Evgeny</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""> </span><o:p class=""></o:p></div><div style="border-style: solid none none; border-top-width: 1pt; border-top-color: rgb(181, 196, 223); padding: 3pt 0in 0in;" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><b class=""><span style="font-size: 12pt;" class="">From:<span class="Apple-converted-space"> </span></span></b><span style="font-size: 12pt;" class="">Hal Finkel<span class="Apple-converted-space"> </span><a href="mailto:hfinkel@anl.gov" style="color: purple; text-decoration: underline;" class=""><hfinkel@anl.gov></a><br class=""><b class="">Organization:<span class="Apple-converted-space"> </span></b>Argonne National Laboratory<br class=""><b class="">Date:<span class="Apple-converted-space"> </span></b>Wednesday, 25 October 2017 at 18:14<br class=""><b class="">To:<span class="Apple-converted-space"> </span></b>Evgeny Astigeevich<span class="Apple-converted-space"> </span><a href="mailto:Evgeny.Astigeevich@arm.com" style="color: purple; text-decoration: underline;" class=""><Evgeny.Astigeevich@arm.com></a>, Chandler Carruth<span class="Apple-converted-space"> </span><a href="mailto:chandlerc@gmail.com" style="color: purple; text-decoration: underline;" class=""><chandlerc@gmail.com></a><br class=""><b class="">Cc:<span class="Apple-converted-space"> </span></b>llvm-dev<span class="Apple-converted-space"> </span><a href="mailto:llvm-dev@lists.llvm.org" style="color: purple; text-decoration: underline;" class=""><llvm-dev@lists.llvm.org></a>, nd<span class="Apple-converted-space"> </span><a href="mailto:nd@arm.com" style="color: purple; text-decoration: underline;" class=""><nd@arm.com></a><br class=""><b class="">Subject:<span class="Apple-converted-space"> </span></b>Re: [llvm-dev] RFC: Switching to the new pass manager by default</span><o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><p style="margin-right: 0in; margin-left: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></p><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">On 10/25/2017 12:10 PM, Evgeny Astigeevich via llvm-dev wrote:<o:p class=""></o:p></div></div><blockquote style="margin-top: 5pt; margin-bottom: 5pt;" class="" type="cite"><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">Hi Chandler,</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""> </span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">I ran the LNT benchmarks and SPEC2k6.train on AArch64 Cortex-A57. I used revisions: Clang 316561, LLVM 316563.</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">Options: -O3 -mcpu=cortex-a57 -fomit-frame-pointer -fexperimental-new-pass-manager</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""> </span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">Regressions: execution time increase</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""> </span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">LNT</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow 1018.58%</span><o:p class=""></o:p></div></blockquote><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><br class="">How real is this?<br class=""><br class=""> -Hal<br class=""><br class=""><br class=""><br class=""><o:p class=""></o:p></div><blockquote style="margin-top: 5pt; margin-bottom: 5pt;" class="" type="cite"><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">MultiSource/Benchmarks/Fhourstones/fhourstones 9.06%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">MultiSource/Benchmarks/Ptrdist/yacr2/yacr2 7.23%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">MultiSource/Benchmarks/Olden/perimeter/perimeter 6.87%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">MultiSource/Benchmarks/MiBench/consumer-typeset/consumer-typeset 6.02%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">MultiSource/Benchmarks/Trimaran/enc-pc1/enc-pc1 5.59%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">MultiSource/Benchmarks/ASC_Sequoia/AMGmk/AMGmk 5.03%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""> </span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">SPEC2k6</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">453.povray 17.11%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">482.sphinx3 3.44%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">444.namd 2.89%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""> </span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">Improvements: execution time decrease</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""> </span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">LNT</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">MultiSource/Benchmarks/BitBench/uudecode/uudecode -50.90%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">SingleSource/Benchmarks/Adobe-C++/loop_unroll -27.75%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">SingleSource/Benchmarks/Misc/perlin -21.35%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">MultiSource/Benchmarks/Olden/em3d/em3d -19.12%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4 -8.58%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">SingleSource/Benchmarks/McGill/chomp -6.33%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">MultiSource/Benchmarks/sim/sim -5.41%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">MultiSource/Applications/ClamAV/clamscan -3.11%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">MultiSource/Benchmarks/TSVC/Symbolics-dbl/Symbolics-dbl -2.81%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""> </span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">SPEC2k6</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">429.mcf -5.18%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">473.astar -2.65%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">400.perlbench -1.90%</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""> </span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">There are also code sizes increases/decreases. The maximum increase is 18.98%. The maximum decrease is 25.65%.</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""> </span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">Thanks,</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="">Evgeny Astigeevich</span><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class=""> </span><o:p class=""></o:p></div><div style="border-style: solid none none; border-top-width: 1pt; border-top-color: rgb(181, 196, 223); padding: 3pt 0in 0in;" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><b class=""><span style="font-size: 12pt;" class="">From:<span class="Apple-converted-space"> </span></span></b><span style="font-size: 12pt;" class="">llvm-dev<span class="Apple-converted-space"> </span><a href="mailto:llvm-dev-bounces@lists.llvm.org" style="color: purple; text-decoration: underline;" class=""><llvm-dev-bounces@lists.llvm.org></a><span class="Apple-converted-space"> </span>on behalf of Chandler Carruth via llvm-dev<a href="mailto:llvm-dev@lists.llvm.org" style="color: purple; text-decoration: underline;" class=""><llvm-dev@lists.llvm.org></a><br class=""><b class="">Reply-To:<span class="Apple-converted-space"> </span></b>Chandler Carruth<span class="Apple-converted-space"> </span><a href="mailto:chandlerc@gmail.com" style="color: purple; text-decoration: underline;" class=""><chandlerc@gmail.com></a><br class=""><b class="">Date:<span class="Apple-converted-space"> </span></b>Wednesday, 18 October 2017 at 07:51<br class=""><b class="">To:<span class="Apple-converted-space"> </span></b>llvm-dev<span class="Apple-converted-space"> </span><a href="mailto:llvm-dev@lists.llvm.org" style="color: purple; text-decoration: underline;" class=""><llvm-dev@lists.llvm.org></a><br class=""><b class="">Subject:<span class="Apple-converted-space"> </span></b>[llvm-dev] RFC: Switching to the new pass manager by default</span><o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Greetings everyone!<span class="Apple-converted-space"> </span><o:p class=""></o:p></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">The new pass manager is getting extremely close to the point where I'm not aware of any significant outstanding work needed, and I'd like to see what else would be needed to enable it by default. Here are the current functionality I'm aware of outstanding:<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">1) Does not do non-trivial loop unswitching. Majority of this is in<span class="Apple-converted-space"> </span><a href="https://reviews.llvm.org/D34200" style="color: purple; text-decoration: underline;" class="">https://reviews.llvm.org/D34200</a> but will need one or two small follow-ups.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">2) Currently, sanitizers don't work correctly with it. Thanks to the work of others, the missing infrastructure has been added and I'll send a patch to wire this up this week.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">3) Missing support for 'optnone'. I've been working on this, but the existing testing wasn't as thorough as I wanted, so it is going slowly. I've got about 1/4 of this implemented and should have patches this week or next.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">4) Missing opt-bisect (or similar) facility. This looks pretty trivial to add, but I've not even started. If anyone is interested in it, go for it. We might even be able to do something simpler using the generic debug counters and get equivalent functionality.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">... that's it?<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Optimization quality / run-time performance:<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">- We've been using it at Google extensively and are very happy with the optimization quality. Benchmarks look *very* good here.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">- More data from other users would be important.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">- You can try it out with `-fexperimental-new-pass-manager` to Clang<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Compile-time performance:<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">- Sometimes *much* better due to cached analyses.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">- Sometimes worse, typically due to more / different inlining in turn running main pipeline (GVN + InstCombine) more times or over more code.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">- Overall somewhat a wash, but the increased compile times typically due to the optimizer "trying" harder, so not too concerning on our end.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">- Again, more feedback from other users good: `-fexperimental-new-pass-manager` to Clang<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Once the four missing things land, I'll also happily work on collecting some of the basics on the test-suite and CTMark. But I suspect more "in the wild" data would really be useful here given the significance of the change.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Thoughts? What else (beyond the four items above and feedback on run-time and compile-time) would folks like to see?<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Once this happens, I'll also be preparing some batch, mechanical updates to the test suite to primarily use the new pass manager. Also there is lots of documentation updates that will be needed here.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">-Chandler<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">PS: I'll be sending a note to cfe-dev as a "heads up" about this discussion as in some ways, the default flip is mostly a Clang default flip. But hopefully our doc updates will trigger this being "perceived" as the default for other frontends, and I'll try to reach out to other major frontends as well (Swift and Rust are on my radar, and I've already started talking with Philip Reames about their Falcon JIT).<o:p class=""></o:p></div></div></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><br class=""><br class=""><br class=""><br class=""><o:p class=""></o:p></div><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: Courier, serif;" class="">_______________________________________________<o:p class=""></o:p></pre><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: Courier, serif;" class="">LLVM Developers mailing list<o:p class=""></o:p></pre><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: Courier, serif;" class=""><a href="mailto:llvm-dev@lists.llvm.org" style="color: purple; text-decoration: underline;" class="">llvm-dev@lists.llvm.org</a><o:p class=""></o:p></pre><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: Courier, serif;" class=""><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" style="color: purple; text-decoration: underline;" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><o:p class=""></o:p></pre></blockquote><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><br class=""><br class=""><br class=""><o:p class=""></o:p></div><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: Courier, serif;" class="">-- <o:p class=""></o:p></pre><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: Courier, serif;" class="">Hal Finkel<o:p class=""></o:p></pre><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: Courier, serif;" class="">Lead, Compiler Technology and Programming Languages<o:p class=""></o:p></pre><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: Courier, serif;" class="">Leadership Computing Facility<o:p class=""></o:p></pre><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: Courier, serif;" class="">Argonne National Laboratory<o:p class=""></o:p></pre></blockquote><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><br class=""><br class=""><o:p class=""></o:p></div><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: Courier, serif;" class="">-- <o:p class=""></o:p></pre><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: Courier, serif;" class="">Hal Finkel<o:p class=""></o:p></pre><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: Courier, serif;" class="">Lead, Compiler Technology and Programming Languages<o:p class=""></o:p></pre><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: Courier, serif;" class="">Leadership Computing Facility<o:p class=""></o:p></pre><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: Courier, serif;" class="">Argonne National Laboratory<o:p class=""></o:p></pre></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; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" 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; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" 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; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">LLVM Developers 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; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" 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; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a></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; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" 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; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class=""><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a></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; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class=""></div></blockquote></div><br class=""></div></body></html>