<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>