<div dir="ltr">Hi,<div><br></div><div>To amend what I said earlier, after a lot more investigation it turns out the problem is that a bunch of optimization passes don't preserve AliasAnalysis. If I add AU.setPreserved<AliasAnalysis> to a bunch of them, passes such as LICM end up seeing GMR in its alias analysis chain. That's when I start to see improvements.</div><div><br></div><div>James</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, 10 Aug 2015 at 10:06 James Molloy <<a href="mailto:james@jamesmolloy.co.uk">james@jamesmolloy.co.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Chandler,<div><br></div><div>Sorry it took so long for me to get to this. I'm very keen to get GMR enabled in the non-LTO pipeline. I see nontrivial perf improvements in a bunch of workloads I care about with it enabled, but with a patch applied to run GMR again after the LoopPasses but before the FunctionPasses. </div><div><br></div><div>I've found this is critical - LICM needs GMR available, and the passmanager kills it by the time the early LICM is run.</div><div><br></div><div>I'd be really keen to get this enabled by default, with that extra run added. I assume the need for this extra run will evaporate with the new pass manager?</div><div><br></div><div>Cheers,</div><div><br></div><div>James</div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, 6 Aug 2015 at 03:45 Chandler Carruth <<a href="mailto:chandlerc@gmail.com" target="_blank">chandlerc@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Greetings folks!<div><br></div><div>I would like to enable globalsmodref-aa in the non-LTO pass pipeline so that it gets tested more and there are fewer differences between the two. For all of my benchmarks, this is performance neutral, but I'd appreciate others benchmarking this combination to see if they see any benefits or regressions.</div><div><br></div><div>You can demo this mode easily: -mllvm -enable-non-lto-gmr</div><div><br></div><div>Please let me know!</div><div>-Chandler</div></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>         <a href="http://llvm.cs.uiuc.edu" rel="noreferrer" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div></blockquote></div>