<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Malgun Gothic";
        panose-1:2 11 5 3 2 0 0 2 0 4;}
@font-face
        {font-family:"\@Malgun Gothic";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">The compile time data is as below. There could be a bit noise but it looks there is no big compile time regression.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">From llvm-test-suite<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Metric: compile_time<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Program                                        results_base results_loop_dist diff
<o:p></o:p></p>
<p class="MsoNormal"> test-suite...arks/VersaBench/dbms/dbms.test     0.94         0.95             1.6%<o:p></o:p></p>
<p class="MsoNormal">test-suite...s/MallocBench/cfrac/cfrac.test     0.89         0.90             1.5%<o:p></o:p></p>
<p class="MsoNormal">test-suite...ks/Prolangs-C/gnugo/gnugo.test     0.72         0.73             1.4%<o:p></o:p></p>
<p class="MsoNormal">test-suite...yApps-C++/PENNANT/PENNANT.test     8.65         8.75             1.2%<o:p></o:p></p>
<p class="MsoNormal">test-suite...marks/Ptrdist/yacr2/yacr2.test     0.84         0.85             1.1%<o:p></o:p></p>
<p class="MsoNormal">test-suite.../Builtins/Int128/Builtins.test     0.86         0.87             1.0%<o:p></o:p></p>
<p class="MsoNormal">test-suite...s/ASC_Sequoia/AMGmk/AMGmk.test     0.69         0.70             1.0%<o:p></o:p></p>
<p class="MsoNormal">test-suite...decode/alacconvert-decode.test     1.16         1.17             0.9%<o:p></o:p></p>
<p class="MsoNormal">test-suite...encode/alacconvert-encode.test     1.16         1.17             0.9%<o:p></o:p></p>
<p class="MsoNormal">test-suite...peg2/mpeg2dec/mpeg2decode.test     1.71         1.72             0.9%<o:p></o:p></p>
<p class="MsoNormal">test-suite.../Applications/spiff/spiff.test     0.88         0.89             0.9%<o:p></o:p></p>
<p class="MsoNormal">test-suite...terpolation/Interpolation.test     0.96         0.97             0.9%<o:p></o:p></p>
<p class="MsoNormal">test-suite...chmarks/MallocBench/gs/gs.test     4.58         4.62             0.9%<o:p></o:p></p>
<p class="MsoNormal">test-suite...-C++/stepanov_abstraction.test     0.69         0.70             0.8%<o:p></o:p></p>
<p class="MsoNormal">test-suite...marks/7zip/7zip-benchmark.test    52.35        52.74             0.7%<o:p></o:p></p>
<p class="MsoNormal">Geomean difference                                                            nan%<o:p></o:p></p>
<p class="MsoNormal">       results_base  results_loop_dist        diff<o:p></o:p></p>
<p class="MsoNormal">count  117.000000    118.000000         117.000000<o:p></o:p></p>
<p class="MsoNormal">mean   4.636126      4.616575           0.002171  <o:p></o:p></p>
<p class="MsoNormal">std    7.725991      7.737663           0.006310  <o:p></o:p></p>
<p class="MsoNormal">min    0.607300      0.602200          -0.041930  <o:p></o:p></p>
<p class="MsoNormal">25%    1.345700      1.313650          -0.001577  <o:p></o:p></p>
<p class="MsoNormal">50%    1.887000      1.888800           0.002463  <o:p></o:p></p>
<p class="MsoNormal">75%    4.340800      4.343275           0.005754  <o:p></o:p></p>
<p class="MsoNormal">max    52.351200     52.736000          0.015861<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">From SPEC2017<o:p></o:p></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="423" style="width:317.6pt;border-collapse:collapse">
<tbody>
<tr style="height:14.4pt">
<td width="117" nowrap="" valign="bottom" style="width:87.6pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">benchmarks<o:p></o:p></span></p>
</td>
<td width="119" nowrap="" valign="bottom" style="width:89.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">baseline<o:p></o:p></span></p>
</td>
<td width="124" nowrap="" valign="bottom" style="width:93.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">enable-loop-distribute<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">diff (seconds)<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="117" nowrap="" valign="bottom" style="width:87.6pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">500.perlbench_r<o:p></o:p></span></p>
</td>
<td width="119" nowrap="" valign="bottom" style="width:89.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:01:06<o:p></o:p></span></p>
</td>
<td width="124" nowrap="" valign="bottom" style="width:93.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:01:04<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">-2<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="117" nowrap="" valign="bottom" style="width:87.6pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">502.gcc_r<o:p></o:p></span></p>
</td>
<td width="119" nowrap="" valign="bottom" style="width:89.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:05:24<o:p></o:p></span></p>
</td>
<td width="124" nowrap="" valign="bottom" style="width:93.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:05:25<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">1<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="117" nowrap="" valign="bottom" style="width:87.6pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">505.mcf_r<o:p></o:p></span></p>
</td>
<td width="119" nowrap="" valign="bottom" style="width:89.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:02<o:p></o:p></span></p>
</td>
<td width="124" nowrap="" valign="bottom" style="width:93.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:02<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">0<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="117" nowrap="" valign="bottom" style="width:87.6pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">520.omnetpp_r<o:p></o:p></span></p>
</td>
<td width="119" nowrap="" valign="bottom" style="width:89.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:58<o:p></o:p></span></p>
</td>
<td width="124" nowrap="" valign="bottom" style="width:93.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:58<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">0<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="117" nowrap="" valign="bottom" style="width:87.6pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">523.xalancbmk_r<o:p></o:p></span></p>
</td>
<td width="119" nowrap="" valign="bottom" style="width:89.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:02:30<o:p></o:p></span></p>
</td>
<td width="124" nowrap="" valign="bottom" style="width:93.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:02:30<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">0<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="117" nowrap="" valign="bottom" style="width:87.6pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">525.x264_r<o:p></o:p></span></p>
</td>
<td width="119" nowrap="" valign="bottom" style="width:89.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:32<o:p></o:p></span></p>
</td>
<td width="124" nowrap="" valign="bottom" style="width:93.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:31<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">-1<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="117" nowrap="" valign="bottom" style="width:87.6pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">531.deepsjeng_r<o:p></o:p></span></p>
</td>
<td width="119" nowrap="" valign="bottom" style="width:89.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:04<o:p></o:p></span></p>
</td>
<td width="124" nowrap="" valign="bottom" style="width:93.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:04<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">0<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="117" nowrap="" valign="bottom" style="width:87.6pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">541.leela_r<o:p></o:p></span></p>
</td>
<td width="119" nowrap="" valign="bottom" style="width:89.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:06<o:p></o:p></span></p>
</td>
<td width="124" nowrap="" valign="bottom" style="width:93.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:06<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">0<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="117" nowrap="" valign="bottom" style="width:87.6pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">557.xz_r<o:p></o:p></span></p>
</td>
<td width="119" nowrap="" valign="bottom" style="width:89.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:05<o:p></o:p></span></p>
</td>
<td width="124" nowrap="" valign="bottom" style="width:93.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:05<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">0<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="117" nowrap="" valign="bottom" style="width:87.6pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">999.specrand_ir<o:p></o:p></span></p>
</td>
<td width="119" nowrap="" valign="bottom" style="width:89.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:01<o:p></o:p></span></p>
</td>
<td width="124" nowrap="" valign="bottom" style="width:93.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:00<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">1<o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">From SPEC2006 (number is seconds)<o:p></o:p></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="389" style="width:292.0pt;border-collapse:collapse">
<tbody>
<tr style="height:14.4pt">
<td width="105" nowrap="" valign="bottom" style="width:79.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">benchmarks<o:p></o:p></span></p>
</td>
<td width="85" nowrap="" valign="bottom" style="width:64.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">baseline<o:p></o:p></span></p>
</td>
<td width="135" nowrap="" valign="bottom" style="width:101.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">enable-loop-distribute<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">diff (seconds)<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="105" nowrap="" valign="bottom" style="width:79.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">400.perlbench<o:p></o:p></span></p>
</td>
<td width="85" nowrap="" valign="bottom" style="width:64.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:29<o:p></o:p></span></p>
</td>
<td width="135" nowrap="" valign="bottom" style="width:101.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:29<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">0<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="105" nowrap="" valign="bottom" style="width:79.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">401.bzip2<o:p></o:p></span></p>
</td>
<td width="85" nowrap="" valign="bottom" style="width:64.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:04<o:p></o:p></span></p>
</td>
<td width="135" nowrap="" valign="bottom" style="width:101.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:03<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">-1<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="105" nowrap="" valign="bottom" style="width:79.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">403.gcc<o:p></o:p></span></p>
</td>
<td width="85" nowrap="" valign="bottom" style="width:64.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:01:28<o:p></o:p></span></p>
</td>
<td width="135" nowrap="" valign="bottom" style="width:101.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:01:26<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">-2<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="105" nowrap="" valign="bottom" style="width:79.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">429.mcf<o:p></o:p></span></p>
</td>
<td width="85" nowrap="" valign="bottom" style="width:64.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:01<o:p></o:p></span></p>
</td>
<td width="135" nowrap="" valign="bottom" style="width:101.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:01<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">0<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="105" nowrap="" valign="bottom" style="width:79.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">445.gobmk<o:p></o:p></span></p>
</td>
<td width="85" nowrap="" valign="bottom" style="width:64.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:24<o:p></o:p></span></p>
</td>
<td width="135" nowrap="" valign="bottom" style="width:101.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:24<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">0<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="105" nowrap="" valign="bottom" style="width:79.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">456.hmmer<o:p></o:p></span></p>
</td>
<td width="85" nowrap="" valign="bottom" style="width:64.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:06<o:p></o:p></span></p>
</td>
<td width="135" nowrap="" valign="bottom" style="width:101.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:06<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">0<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="105" nowrap="" valign="bottom" style="width:79.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">458.sjeng<o:p></o:p></span></p>
</td>
<td width="85" nowrap="" valign="bottom" style="width:64.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:03<o:p></o:p></span></p>
</td>
<td width="135" nowrap="" valign="bottom" style="width:101.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:03<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">0<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="105" nowrap="" valign="bottom" style="width:79.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">462.libquantum<o:p></o:p></span></p>
</td>
<td width="85" nowrap="" valign="bottom" style="width:64.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:03<o:p></o:p></span></p>
</td>
<td width="135" nowrap="" valign="bottom" style="width:101.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:02<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">-1<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="105" nowrap="" valign="bottom" style="width:79.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">464.h264ref<o:p></o:p></span></p>
</td>
<td width="85" nowrap="" valign="bottom" style="width:64.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:29<o:p></o:p></span></p>
</td>
<td width="135" nowrap="" valign="bottom" style="width:101.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:29<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">0<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="105" nowrap="" valign="bottom" style="width:79.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">471.omnetpp<o:p></o:p></span></p>
</td>
<td width="85" nowrap="" valign="bottom" style="width:64.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:23<o:p></o:p></span></p>
</td>
<td width="135" nowrap="" valign="bottom" style="width:101.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:24<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">1<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="105" nowrap="" valign="bottom" style="width:79.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">473.astar<o:p></o:p></span></p>
</td>
<td width="85" nowrap="" valign="bottom" style="width:64.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:02<o:p></o:p></span></p>
</td>
<td width="135" nowrap="" valign="bottom" style="width:101.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:02<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">0<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="105" nowrap="" valign="bottom" style="width:79.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">483.xalancbmk<o:p></o:p></span></p>
</td>
<td width="85" nowrap="" valign="bottom" style="width:64.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:02:07<o:p></o:p></span></p>
</td>
<td width="135" nowrap="" valign="bottom" style="width:101.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:02:06<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">-1<o:p></o:p></span></p>
</td>
</tr>
<tr style="height:14.4pt">
<td width="105" nowrap="" valign="bottom" style="width:79.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal"><span style="color:black">999.specrand<o:p></o:p></span></p>
</td>
<td width="85" nowrap="" valign="bottom" style="width:64.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:01<o:p></o:p></span></p>
</td>
<td width="135" nowrap="" valign="bottom" style="width:101.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">00:00:01<o:p></o:p></span></p>
</td>
<td width="64" nowrap="" valign="bottom" style="width:48.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:14.4pt">
<p class="MsoNormal" align="right" style="text-align:right"><span style="color:black">0<o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks<o:p></o:p></p>
<p class="MsoNormal">JinGu Kang<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b>From:</b> llvm-dev <llvm-dev-bounces@lists.llvm.org> <b>On Behalf Of
</b>Sjoerd Meijer via llvm-dev<br>
<b>Sent:</b> 21 June 2021 14:36<br>
<b>To:</b> Jingu Kang <Jingu.Kang@arm.com>; Michael Kruse <llvmdev@meinersbur.de>; Kyrylo Tkachov <Kyrylo.Tkachov@arm.com><br>
<b>Cc:</b> llvm-dev@lists.llvm.org<br>
<b>Subject:</b> Re: [llvm-dev] Enabling Loop Distribution Pass as default in the pipeline of new pass manager<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">> Based on this data, I think we could say the pass is usually beneficial without causing major regression.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">I think we need to look at compile-times too before we can draw that conclusion, i.e. we need to justify it's worth spending extra compile-time for optimising a few cases. Hopefully loop distribution
 is a cheap pass to run (also when it is running but not triggering), but that's something that needs to be checked I think.<o:p></o:p></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="98%" align="center">
</div>
<div id="divRplyFwdMsg">
<p class="MsoNormal"><b><span style="color:black">From:</span></b><span style="color:black"> Jingu Kang <<a href="mailto:Jingu.Kang@arm.com">Jingu.Kang@arm.com</a>><br>
<b>Sent:</b> 21 June 2021 14:27<br>
<b>To:</b> Michael Kruse <<a href="mailto:llvmdev@meinersbur.de">llvmdev@meinersbur.de</a>>; Kyrylo Tkachov <<a href="mailto:Kyrylo.Tkachov@arm.com">Kyrylo.Tkachov@arm.com</a>>; Sjoerd Meijer <<a href="mailto:Sjoerd.Meijer@arm.com">Sjoerd.Meijer@arm.com</a>><br>
<b>Cc:</b> <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a> <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>><br>
<b>Subject:</b> RE: [llvm-dev] Enabling Loop Distribution Pass as default in the pipeline of new pass manager</span>
<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">For considering the LoopDistribute pass as a canonicalization with the profitability heuristic of LoopFuse pass, it looks the LoopFuse pass does not also have proper profitability function.<br>
<br>
If possible, I would like to enable the LoopDistribute pass based on the performance data.<br>
<br>
As you can see on the previous email, the Geomean difference from llvm-test-suite is -0.0%. From spec benchmarks, we can see 43% performance improvement on 456.hmmer of SPEC2006. Based on this data, I think we could say the pass is usually beneficial without
 causing major regression.<br>
<br>
How do you think about it?<br>
<br>
Thanks<br>
JinGu Kang<br>
<br>
> -----Original Message-----<br>
> From: Jingu Kang<br>
> Sent: 18 June 2021 13:13<br>
> To: Michael Kruse <<a href="mailto:llvmdev@meinersbur.de">llvmdev@meinersbur.de</a>>; Kyrylo Tkachov<br>
> <<a href="mailto:Kyrylo.Tkachov@arm.com">Kyrylo.Tkachov@arm.com</a>>; Sjoerd Meijer <<a href="mailto:Sjoerd.Meijer@arm.com">Sjoerd.Meijer@arm.com</a>><br>
> Cc: <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
> Subject: RE: [llvm-dev] Enabling Loop Distribution Pass as default in the pipeline<br>
> of new pass manager<br>
> <br>
> I appreciate your replies. I have seen below performance data.<br>
> <br>
> For AArch64, the performance data from llvm-test-suite is as below.<br>
> <br>
> Metric: exec_time<br>
> <br>
> Program                                        results_base results_loop_dist diff<br>
>  test-suite...ications/JM/lencod/lencod.test     3.95         4.29             8.8%<br>
>  test-suite...emCmp<5, GreaterThanZero, Mid>   1456.09      1574.29            8.1%<br>
>  test-suite...st:BM_BAND_LIN_EQ_LAMBDA/44217    22.83        24.50             7.3%<br>
>  test-suite....test:BM_BAND_LIN_EQ_RAW/44217    23.00        24.17             5.1%<br>
>  test-suite...st:BM_INT_PREDICT_LAMBDA/44217   589.54       616.70             4.6%<br>
>  test-suite...t:BENCHMARK_asin_novec_double_   330.25       342.17             3.6%<br>
>  test-suite...ow-dbl/GlobalDataFlow-dbl.test     2.58         2.67             3.3%<br>
>  test-suite...da.test:BM_PIC_2D_LAMBDA/44217   781.30       806.36             3.2%<br>
>  test-suite...est:BM_ENERGY_CALC_LAMBDA/5001    63.02        64.93             3.0%<br>
>  test-suite...gebra/kernels/syr2k/syr2k.test     6.53         6.73             3.0%<br>
>  test-suite...t/StatementReordering-flt.test     2.33         2.40             2.8%<br>
>  test-suite...sCRaw.test:BM_PIC_2D_RAW/44217   789.90       810.05             2.6%<br>
>  test-suite...s/gramschmidt/gramschmidt.test     1.44         1.48             2.5%<br>
>  test-suite...Raw.test:BM_HYDRO_1D_RAW/44217    38.42        39.37             2.5%<br>
>  test-suite....test:BM_INT_PREDICT_RAW/44217   597.73       612.34             2.4%<br>
>  Geomean difference                                                           -0.0%<br>
>         results_base  results_loop_dist        diff<br>
> count  584.000000     584.000000         584.000000<br>
> mean   2761.681991    2759.451499       -0.000020<br>
> std    30145.555650   30124.858004       0.011093<br>
> min    0.608782       0.608729          -0.116286<br>
> 25%    3.125425       3.106625          -0.000461<br>
> 50%    130.212207     130.582658         0.000004<br>
> 75%    602.708659     612.931769         0.000438<br>
> max    511340.880000  511059.980000      0.087630<br>
> <br>
> For AArch64, the performance data from SPEC benchmark is as below.<br>
> <br>
> SPEC2006<br>
> Benchmark             Improvement(%)<br>
> 400.perlbench         -1.786911228<br>
> 401.bzip2             -3.174199894<br>
> 403.gcc               0.717990522<br>
> 429.mcf               2.053027806<br>
> 445.gobmk             0.775388165<br>
> 456.hmmer             43.39308377<br>
> 458.sjeng             0.133933093<br>
> 462.libquantum                4.647923489<br>
> 464.h264ref           -0.059568786<br>
> 471.omnetpp           1.352515266<br>
> 473.astar             0.362752409<br>
> 483.xalancbmk         0.746580249<br>
> <br>
> SPEC2017<br>
> Benchmark             Improvement(%)<br>
> 500.perlbench_r               0.415424516<br>
> 502.gcc_r             -0.112915812<br>
> 505.mcf_r             0.238633706<br>
> 520.omnetpp_r         0.114830748<br>
> 523.xalancbmk_r               0.460107636<br>
> 525.x264_r            -0.401915964<br>
> 531.deepsjeng_r               0.010064227<br>
> 541.leela_r           0.394797504<br>
> 557.xz_r              0.111781366<br>
> <br>
> Thanks<br>
> JinGu Kang<br>
> <br>
> > -----Original Message-----<br>
> > From: Michael Kruse <<a href="mailto:llvmdev@meinersbur.de">llvmdev@meinersbur.de</a>><br>
> > Sent: 17 June 2021 19:13<br>
> > To: Jingu Kang <<a href="mailto:Jingu.Kang@arm.com">Jingu.Kang@arm.com</a>><br>
> > Cc: <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
> > Subject: Re: [llvm-dev] Enabling Loop Distribution Pass as default in<br>
> > the pipeline of new pass manager<br>
> ><br>
> > The LoopDistribute pass doesn't do anything unless it sees<br>
> > llvm.loop.distribute.enable (`#pragma clang loop distribute(enable)`)<br>
> > because it does not have a profitability heuristic. It cannot say<br>
> > whether loop distribution is good for performance or not. What makes<br>
> > it improve hmmer is that the distributed loops can be vectoried.<br>
> > However, LoopDistribute is located before the vectorizer and cannot<br>
> > say in advance whether a distributed loop will be vectorized or not.<br>
> > If not, then it potentially only increased loop overhead.<br>
> ><br>
> > To make -enable-loop-distribute on by default would mean that we could<br>
> > consider loop distribution to be usually beneficial without causing<br>
> > major regressions. We need a lot more data to support that conclusion.<br>
> ><br>
> > Alternatively, we could consider loop-distribution a canonicalization.<br>
> > A later LoopFuse would do the profitability heuristic to re-fuse loops<br>
> > again if loop distribution did not gain anything.<br>
> ><br>
> > Michael<o:p></o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>