<div dir="ltr">Would you mind listing the ones related to aliasing/memdep/etc?<div><br></div><div>I'm trying to figure out what the best order to tackle things in is.</div><div><br></div><div>For example, we could convert passes to memoryssa, we can add optional caching to basicaa (IE aliascache), etc.</div><div><br></div><div>All of these produce increased scaling of various things, and we should do all of them over time, but it would be nice to know what we should increase the scaling of first, and the more data, the better the plan :)</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Aug 21, 2016 at 11:06 AM, Philip Reames <span dir="ltr"><<a href="mailto:listmail@philipreames.com" target="_blank">listmail@philipreames.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 08/20/2016 10:14 PM, Xinliang David Li wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I understand your concern here, and  performance cliff is definitely<br>
something we should try to avoid. However dropping alias info in<br>
situation like this != performance cliff.  I am sure we can come up<br>
with hand-created examples to show  performance damage with dropped<br>
alias info, in real programs, when a function reaches such a state,<br>
the alias query results will be already so conservative that doing<br>
memory disambiguation busily any further will likely be just waste of<br>
compile time, so 'gracefully' lowering alias precision or dropping<br>
aliasing info to the floor makes no difference practically.  I have<br>
not seen performance regressions due to the use of cutoff limits<br>
elsewhere in LLVM.<br>
</blockquote></span>
I have.  In fact, we have a number of the flags tuned higher in our local builds than upstream precisely for this reason.<div class="HOEnZb"><div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
David<br>
<br>
<br>
On Sat, Aug 20, 2016 at 12:24 PM, Philip Reames<br>
<<a href="mailto:listmail@philipreames.com" target="_blank">listmail@philipreames.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
reames added a subscriber: reames.<br>
reames added a comment.<br>
<br>
I am not actively objecting to this patch, but I really don't like the overall direction here.  Having a threshold where our ability to optimize falls off a cliff just seems really undesirable.  As Hal pointed out, there are likely options for summarizing alias sets to allow quicker AA queries.  How much have we explored that design space?<br>
<br>
<br>
Repository:<br>
   rL LLVM<br>
<br>
<a href="https://reviews.llvm.org/D23432" rel="noreferrer" target="_blank">https://reviews.llvm.org/D2343<wbr>2</a><br>
<br>
<br>
<br>
</blockquote></blockquote>
<br>
</div></div></blockquote></div><br></div>