[PATCH] D24104: Make GlobalsAA ignore dead constant expressions.

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 31 16:37:46 PDT 2016


On Wed, Aug 31, 2016 at 4:34 PM, Michael Kuperstein <mkuper at google.com>
wrote:

> Right, nothing enforces this in the current PM.
>
> But LCSSA isn't really a good example - we explicitly don't want to be
> able to "require" transformation passes in the new PM, neither by another
> transformation or by an analysis.
>

Sure, i was just trying to come up with a pass that something may think
makes analysis easier.
Pick your poison :)


> That, I believe, is enforced, and LCSSA - or any other potential "this
> pass require the IR to be in a certain form" issue - will have to be
> handled in a different way. I don't believe we have a good solution for
> this yet, Chandler may know more.
>
> I'm afraid we may have other cases of analyses performing "trivial"
> simplifications, though, and I don't believe the new PM currently checks
> this.
>

I would definitely believe this.


>
> On Wed, Aug 31, 2016 at 4:25 PM, Daniel Berlin <dberlin at dberlin.org>
> wrote:
>
>> Theoretically, nothing checks or enforces this (at least in the current
>> PM).
>> Is it checked/enforced in the New PM?
>>
>> If an analysis does something like "require LCSSA", it will modify the IR.
>>
>>
>> On Wed, Aug 31, 2016 at 4:22 PM, Hal Finkel via llvm-commits <
>> llvm-commits at lists.llvm.org> wrote:
>>
>>> hfinkel added a subscriber: hfinkel.
>>>
>>> ================
>>> Comment at: lib/Analysis/GlobalsModRef.cpp:277
>>> @@ -276,1 +276,3 @@
>>> +      // AnalyzeUsesOfPointer assumes all uses of the value are live.
>>> +      F.removeDeadConstantUsers();
>>>        if (!AnalyzeUsesOfPointer(&F)) {
>>> ----------------
>>> mkuper wrote:
>>> > Don't know enough about GlobalsAA to approve this anyway, but as a
>>> matter of principle - is it acceptable for an analysis pass to modify the
>>> IR?
>>> No, they shouldn't.
>>>
>>>
>>> Repository:
>>>   rL LLVM
>>>
>>> https://reviews.llvm.org/D24104
>>>
>>>
>>>
>>> _______________________________________________
>>> 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/20160831/e1ab4a3d/attachment.html>


More information about the llvm-commits mailing list