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

Michael Kuperstein via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 31 16:34:34 PDT 2016


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. 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.

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/8207fa7a/attachment.html>


More information about the llvm-commits mailing list