<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thanks for your replies.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
As I wrote in the other thread today, I need a little bit of time to get up to speed here. I.e. need to start collecting more benchmark data, and start doing some analysis which I haven't done yet. I think the code-size problems will be visible with just -Oz,
 that's essentially the only flag I used for CSiBE. But I will first start collecting some data on the llvm test-suite (and also for -Os), that's probably best for the discussion here upstream, to confirm that shows the same trend as on our (downstream / other)
 benchmarks.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Just to give an early impression, I have copied numbers for CSiBE below. The second column shows the number of bytes for the different apps using the LPM, the third column using the NPM, an the fourth column is the percentage difference. This shows there one
 improvement, bzip2, and all the others have regressed significantly for code-size standards.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<pre style="margin: 4px 0px; padding: 8px; font-size: 12px; line-height: 1.50001; font-variant-ligatures: none; overflow-wrap: break-word; tab-size: 4; font-family: Monaco, Menlo, Consolas, "Courier New", monospace !important; border: 1px solid var(--saf-0); border-radius: 4px; background: rgba(var(--sk_foreground_min,29,28,29),0.04); counter-reset: list-0 0 list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; color: rgb(29, 28, 29); text-align: left"> app                        LPM        NPM         Diff </pre>
<pre style="margin: 4px 0px; padding: 8px; font-size: 12px; line-height: 1.50001; font-variant-ligatures: none; overflow-wrap: break-word; tab-size: 4; font-family: Monaco, Menlo, Consolas, "Courier New", monospace !important; border: 1px solid var(--saf-0); border-radius: 4px; background: rgba(var(--sk_foreground_min,29,28,29),0.04); counter-reset: list-0 0 list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; color: rgb(29, 28, 29); text-align: left"> csibe/OpenTCP-1.0.4        21399      21603       0.95%<br> csibe/bzip2-1.0.2          48144      47956      -0.39%<br> csibe/cg_compiler_opensrc  96007      96511       0.52%<br> csibe/compiler             19358      19464       0.55%<br> csibe/jikespg-1.3          171786     175040      1.89%<br> csibe/jpeg-6b              94953      97341       2.51%<br> csibe/libpng-1.2.5         78085      79097       1.29%<br> csibe/lwip-0.5.3.preproc   68243      68525       0.41%<br> csibe/mpeg2dec-0.3.1       37266      37402       0.36%<br> csibe/mpgcut-1.1           7480       7620        1.87%<br> csibe/teem-1.6.0-src       1089031    1093291     0.39%<br> csibe/ttt-0.10.1.preproc   12679      13035       2.81%<br> csibe/unrarlib-0.4.0       10160      10304       1.42%<br> csibe/zlib-1.1.4           29003      29375       1.28%<span style="display: block; height: unset"></span> csibe                      1783594    1796564     0.73%</pre>
<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Xinliang David Li <davidxl@google.com><br>
<b>Sent:</b> 22 July 2020 17:19<br>
<b>To:</b> Arthur Eubanks <aeubanks@google.com><br>
<b>Cc:</b> Sjoerd Meijer <Sjoerd.Meijer@arm.com>; llvm-dev@lists.llvm.org <llvm-dev@lists.llvm.org>; Hiroshi Yamauchi <yamauchi@google.com><br>
<b>Subject:</b> Re: [llvm-dev] NPM and code-size</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div class="x_gmail_default" style="font-family:monospace; font-size:small; color:#000000">
Extracting some test cases to demonstrate the issue would be helpful for triaging purposes.</div>
<div class="x_gmail_default" style="font-family:monospace; font-size:small; color:#000000">
<br>
</div>
<div class="x_gmail_default" style="font-family:monospace; font-size:small; color:#000000">
David</div>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">On Wed, Jul 22, 2020 at 9:00 AM Arthur Eubanks <<a href="mailto:aeubanks@google.com">aeubanks@google.com</a>> wrote:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">There's no official timeline for switching to the NPM, but I am trying to get it ready ASAP.
<div>What flags are you using for code size? I'm not familiar with the internals of the NPM optimization passes especially in regards to code size, adding some people who may be more familiar.</div>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">On Wed, Jul 22, 2020 at 7:51 AM Sjoerd Meijer via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="color:rgb(32,31,30); font-size:14.6667px; background-color:rgb(255,255,255); display:inline">(NPM:<span> </span></span><span style="margin:0px; font-size:14.6667px; color:rgb(32,31,30); background-color:rgb(255,255,255)">new</span><span style="color:rgb(32,31,30); font-size:14.6667px; background-color:rgb(255,255,255); display:inline"><span> </span></span><span style="margin:0px; font-size:14.6667px; color:rgb(32,31,30); background-color:rgb(255,255,255)">pass</span><span style="color:rgb(32,31,30); font-size:14.6667px; background-color:rgb(255,255,255); display:inline"><span> </span></span><span style="margin:0px; font-size:14.6667px; color:rgb(32,31,30); background-color:rgb(255,255,255)">manager</span><span style="color:rgb(32,31,30); font-size:14.6667px; background-color:rgb(255,255,255); display:inline">; 
 LPM: legacy<span> </span></span><span style="margin:0px; font-size:14.6667px; color:rgb(32,31,30); background-color:rgb(255,255,255)">pass</span><span style="color:rgb(32,31,30); font-size:14.6667px; background-color:rgb(255,255,255); display:inline"><span> </span></span><span style="margin:0px; font-size:14.6667px; color:rgb(32,31,30); background-color:rgb(255,255,255)">manager</span><span style="color:rgb(32,31,30); font-size:14.6667px; background-color:rgb(255,255,255); display:inline">)</span><br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="color:rgb(32,31,30); font-size:14.6667px; background-color:rgb(255,255,255); display:inline"><br>
</span></div>
<div><font color="#201f1e"><span style="font-size:14.6667px">In a first quick experiment today I compared code-size of the LMP vs. the NMP for the CSiBE benchmark (and some other), and this shows code-size increases with the NPM that would probably be unacceptable
 for us. So, now I am wondering how/if we need to mitigate this, and have a bunch of questions.</span></font></div>
<div><font color="#201f1e"><span style="font-size:14.6667px"><br>
</span></font></div>
<div><font color="#201f1e"><span style="font-size:14.6667px">As I've noticed quite some activity around the NPM recently, I am first of all curious if there's an idea or estimate when the NPM will be enabled? And sorry if I missed this. That would give us an
 idea how much time we have to tune the NMP and the pipeline for code-size, which I think would be the obvious mitigation. Other questions would be if the NPM is mostly tuned for performance at the moment, if others have observed code-size increases too, and
 if flipping the switch from the LPM to NPM would be for all optimisation levels at the same time, or if we e.g. will fall back to the old one for some?</span></font></div>
<div><font color="#201f1e"><span style="font-size:14.6667px"><br>
</span></font></div>
<div><font color="#201f1e"><span style="font-size:14.6667px">Thanks,</span></font></div>
<div><font color="#201f1e"><span style="font-size:14.6667px">Sjoerd.</span></font></div>
</div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote>
</div>
</blockquote>
</div>
</div>
</body>
</html>