<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=""><br class=""><div><blockquote type="cite" class=""><div class="">On Sep 9, 2014, at 11:40 AM, Eric Christopher <<a href="mailto:echristo@gmail.com" class="">echristo@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><br class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Tue, Sep 9, 2014 at 8:57 AM, Hal Finkel <span dir="ltr" class=""><<a href="mailto:hfinkel@anl.gov" target="_blank" class="">hfinkel@anl.gov</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">----- Original Message -----<br class="">
> From: "Renato Golin" <<a href="mailto:renato.golin@linaro.org" class="">renato.golin@linaro.org</a>><br class="">
> To: "Tilmann Scheller" <<a href="mailto:t.scheller@samsung.com" class="">t.scheller@samsung.com</a>><br class="">
> Cc: <a href="mailto:reviews%2BD5148%2Bpublic%2B3607c133967fc2d2@reviews.llvm.org" class="">reviews+D5148+public+3607c133967fc2d2@reviews.llvm.org</a>, "LLVM Commits" <<a href="mailto:llvm-commits@cs.uiuc.edu" class="">llvm-commits@cs.uiuc.edu</a>><br class="">
> Sent: Tuesday, September 9, 2014 9:33:39 AM<br class="">
> Subject: Re: [PATCH] [AArch64] Enable partial unrolling and runtime unrolling for AArch64 target<br class="">
><br class="">
</span><span class="">> On 9 September 2014 15:15, Tilmann Scheller <<a href="mailto:t.scheller@samsung.com" class="">t.scheller@samsung.com</a>><br class="">
> wrote:<br class="">
> > can we make sure this is enabled only with -O3 rather than -O2/-Os<br class="">
> > though?<br class="">
> > (at least until the code size regressions are fixed)<br class="">
><br class="">
> Good point!<br class="">
<br class="">
</span>In case this helps: The way this works is that functions compiled with -Os get the 'optsize' attribute added. The UnrollingPreferences structure has both an PartialThreshold and an PartialOptSizeThreshold parameter that can be set accordingly.<br class=""></blockquote><div class=""><br class=""></div><div class="">Right, 50% is still a pretty large code size increase even for O2, so O3 might be best here.</div></div></div></div></div></blockquote><div><br class=""></div>I will go one step further.</div><div><br class=""></div><div>50% code size regression, even on just a few tests, is completely unacceptable for -O2.</div><div><br class=""></div><div>For -O3, it might be tolerable if it provides a very significant performance win to compensate. It doesn’t sound like the performance is really that compelling, though. I think this should be under the control of a separate option, not enabled by default for -O3, until the code size regressions get fixed.</div><div><br class=""></div><div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""><br class=""></div><div class="">Kevin: Are you going to work on the code size issues or...?</div></div></div></div></div></blockquote></div></body></html>