<div dir="ltr">Hi,<div><br></div><div>> <span style="line-height:1.5">- I'd rather see this as two patches: one for the GlobalOpt and the other for the scalar optimizations</span></div><br><div>Sure, that's easily done. Would you prefer me to open another phab review or are happy with it being committed split apart?</div><div><br></div><div>> <span style="line-height:1.5">- Do you have benchmark results before/after?</span></div><br><div>Yes and no. The mem2reg changes do affect benchmarks I care about, but they're not in test-suite and I'm not allowed to quote numbers from them.</div><div><br></div><div>I don't have an LTO setup of the test-suite to get numbers for the LTO portions either (although I do have LTO set up for third party test suites that I can't quote numbers from!). I haven't seen any regressions in any test, and some improve drastically. Sorry for the weasel words.</div><div><br></div><div>As a general principle, I think the LTO driver isn't currently doing enough scalar optimization. I've seen several cases where really poor code gets through to late passes like CGP purely because SimplifyCFG/InstCombine weren't run enough.</div><div><br></div><div>> - See also: <a href="http://reviews.llvm.org/D13443" rel="noreferrer" target="_blank" style="z-index: 0;">http://reviews.llvm.org/D13443</a> ; I paused my work on this till January because of the ThinLTO bringup, but I still plan to move forward with it.<br></div><div><br></div><div>This looks good. It looks like a real reegineering of the pipeline, which is a bit more work than I was hoping to chew off - I hope that my work might go some way towards improving the LTO codegen without requiring thousands of benchmarking hours to check it's OK!</div><div><br></div><div>(Aside, in D13443 you don't run GlobalOpt/Mem2Reg early. I think functionattrs+globalopt+mem2reg needs to run as early as possible so that demoted globals become first class SSA values for the whole of the pass pipeline).</div><div><br></div><div>James</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, 11 Dec 2015 at 16:08 Mehdi AMINI via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">joker.eph added a comment.<br>
<br>
Hi James,<br>
<br>
A few points:<br>
<br>
- I'd rather see this as two patches: one for the GlobalOpt and the other for the scalar optimizations<br>
- Do you have benchmark results before/after?<br>
- See also: <a href="http://reviews.llvm.org/D13443" rel="noreferrer" target="_blank">http://reviews.llvm.org/D13443</a> ; I paused my work on this till January because of the ThinLTO bringup, but I still plan to move forward with it.<br>
<br>
Thanks!<br>
<br>
<br>
Repository:<br>
  rL LLVM<br>
<br>
<a href="http://reviews.llvm.org/D15449" rel="noreferrer" target="_blank">http://reviews.llvm.org/D15449</a><br>
<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>