<div dir="ltr">The original thread w.r.t. fast isel: <a href="http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20130225/166934.html" target="_blank">http://lists.llvm.org/pi<wbr>permail/llvm-commits/Week-of-M<wbr>on-20130225/166934.html</a>. Nadav cited 5% of specific part of isel, but I don't know which benchmark. On my side, we were testing <a href="https://codereview.chromium.org/20162004/diff/1/tools/nacl_perf_expectations/nacl_perf_expectations.json">build times for PNaCl</a> apps. The setup would have been an LTO-like build, timing just the backend -- an odd mix of getting optimized bitcode then running LLC under -O0. A minor point, it also made the toolchain binaries a bit smaller (e.g., maybe 500KB out of 12MB?). But, that's not a use case you'd need to worry about.<div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 31, 2017 at 11:17 AM, Daniel Berlin via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="gmail-">On Wed, May 31, 2017 at 7:48 AM, Reid Kleckner <span dir="ltr"><<a href="mailto:rnk@google.com" target="_blank">rnk@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I think adding an option to cmake is fine, but it should definitely be off by default in release builds.</div></blockquote><div><br></div></span><div>Why?</div><span class="gmail-"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"> If we make STATISTIC useful, then people will eventually put it on some hot path, and that will kill multi-threaded performance for users like ThinLTO, because multiple threads doing read-modify-write on the same memory is just slow.</div></blockquote><div><br></div></span><div>With no offense meant: Can we please be driven by data? </div><div>This argument is "people will eventually do something silly and it will make things slow for others". That is something that can be said about just about anything in LLVM :).  This is why we have code review, etc.</div><div>If your concern is the atomic increments, then is there a reason to not have it do the counting as a runtime option instead of a compile time one?</div><span class="gmail-"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"> </div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="gmail-m_-8083960552195478895h5">On Wed, May 31, 2017 at 7:39 AM, Daniel Berlin via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="gmail-m_-8083960552195478895h5"><div dir="ltr">Right now, the LLVM Statistic class does not increment values if we are in non-debug mode, unless you define LLVM_ENABLE_STATS (which, sadly, is also not available from cmake).<div><br></div><div>Before i go and add it to cmake, i ran numbers.</div><div><br></div><div>I can't find a single testcase, large or small, where enabling statistics all the time isn't completely noise.</div><div><br></div><div>It looks like it was disabled in march  2013.</div><div><a href="https://reviews.llvm.org/D486" target="_blank">https://reviews.llvm.org/D486</a><br></div><div><br></div><div>The only discussion i can find in the same time period is around fastisel using a lot of per-instruction stats, and it causing some slow-down.</div><div><br></div><div>However, I can't find any actual data/testcases in this discussion at all, and disabling stats globally is actually fairly annoying for performance work.</div><div>:(</div><div><br></div><div>Does anyone have any testcases where it is actually slow that i can look at?<br><br></div></div>
<br></div></div><span>______________________________<wbr>_________________<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="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br></span></blockquote></div><br></div>
</blockquote></span></div><br></div></div>
<br>______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br></div></div></div>