[PATCH] D12528: Add AliasAnalysis as preserved for a bunch of transforms

Chandler Carruth via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 1 09:19:50 PDT 2015


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.

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.

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.

-Chandler

On Tue, Sep 1, 2015 at 8:33 AM James Molloy via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> I'm not 100% certain that would work due to how the LegacyPassManager is
> broken with analysis groups... Chandler?
>
> On Tue, 1 Sep 2015 at 16:02 hfinkel at anl.gov via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>> hfinkel added a subscriber: hfinkel.
>> hfinkel added a comment.
>>
>> > This allows us to turn on GlobalsModRef by default and it actually be
>> useful.
>>
>>
>> Could we preserve GMR specifically? That seems much safer than preserving
>> anything that might ever call itself an aliasing analysis.
>>
>>
>> Repository:
>>   rL LLVM
>>
>> http://reviews.llvm.org/D12528
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150901/29878951/attachment.html>


More information about the llvm-commits mailing list