<div dir="ltr">Regarding the original patch, I don't think we should go there. Mostly because BasicAA really shouldn't be preserved by everything. Right now, BasicAA continually re-queries for domtree and loopinfo, which is super slow but allows it to be "OK" when those passes get invalidated. It really should be a function analysis that is preserved by the things that preserve domtree and loopinfo. This is what my big AA restructure actually does.<div><br></div><div>Personally, I'd like to get the AA restructure into place before we change the preserved sets of these things because my patch was specifically designed with the current set of preserved semantics. But that's a somewhat selfish desire. ;] If my big AA restructure isn't going to land any time soon, then I don't want to hold things up.</div><div><br></div><div>Regarding Hal's suggestion.... I don't 100% know if it would work. The analysis group stuff is... very tricky. I *think* it would work, but I'm not 100% certain. I am 100% certain that after my restructure, that is essentially the correct thing to do. Specifically, every pass which only makes *conservative* changes to the call graph (ie, deleting call edges, not adding them) should preserve GMR. Which should be essentially everything but other module passes that could potentially restructure the call graph in some significant way.</div><div><br></div><div>-Chandler</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Sep 1, 2015 at 8:33 AM James Molloy 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"><div dir="ltr">I'm not 100% certain that would work due to how the LegacyPassManager is broken with analysis groups... Chandler?</div><br><div class="gmail_quote"><div dir="ltr">On Tue, 1 Sep 2015 at 16:02 <a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a> via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">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">hfinkel added a subscriber: hfinkel.<br>
hfinkel added a comment.<br>
<br>
> This allows us to turn on GlobalsModRef by default and it actually be useful.<br>
<br>
<br>
Could we preserve GMR specifically? That seems much safer than preserving anything that might ever call itself an aliasing analysis.<br>
<br>
<br>
Repository:<br>
  rL LLVM<br>
<br>
<a href="http://reviews.llvm.org/D12528" rel="noreferrer" target="_blank">http://reviews.llvm.org/D12528</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>
_______________________________________________<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>