[PATCH] D23432: [AliasSetTracker] Degrade AliasSetTracker results when may-alias sets get too large.

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 21 12:51:58 PDT 2016


Happy to.  I'll try to remember to take a diff tomorrow and summarize.

One case which I know we do which is of interest here is that we fall 
back to O(N^2) aliasing queries for small loops in LICM specifically to 
paper over imprecision in AliasSetTracker.  I don't have the test case 
at hand, but this was motivated by real cases we saw.

On 08/21/2016 12:14 PM, Daniel Berlin wrote:
> Would you mind listing the ones related to aliasing/memdep/etc?
>
> I'm trying to figure out what the best order to tackle things in is.
>
> For example, we could convert passes to memoryssa, we can add optional 
> caching to basicaa (IE aliascache), etc.
>
> 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 :)
>
>
> On Sun, Aug 21, 2016 at 11:06 AM, Philip Reames 
> <listmail at philipreames.com <mailto:listmail at philipreames.com>> wrote:
>
>     On 08/20/2016 10:14 PM, Xinliang David Li wrote:
>
>         I understand your concern here, and  performance cliff is
>         definitely
>         something we should try to avoid. However dropping alias info in
>         situation like this != performance cliff.  I am sure we can
>         come up
>         with hand-created examples to show  performance damage with
>         dropped
>         alias info, in real programs, when a function reaches such a
>         state,
>         the alias query results will be already so conservative that doing
>         memory disambiguation busily any further will likely be just
>         waste of
>         compile time, so 'gracefully' lowering alias precision or dropping
>         aliasing info to the floor makes no difference practically.  I
>         have
>         not seen performance regressions due to the use of cutoff limits
>         elsewhere in LLVM.
>
>     I have.  In fact, we have a number of the flags tuned higher in
>     our local builds than upstream precisely for this reason.
>
>
>         David
>
>
>         On Sat, Aug 20, 2016 at 12:24 PM, Philip Reames
>         <listmail at philipreames.com <mailto:listmail at philipreames.com>>
>         wrote:
>
>             reames added a subscriber: reames.
>             reames added a comment.
>
>             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?
>
>
>             Repository:
>                rL LLVM
>
>             https://reviews.llvm.org/D23432
>             <https://reviews.llvm.org/D23432>
>
>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160821/eb4f76f6/attachment.html>


More information about the llvm-commits mailing list