[PATCH] [SimplifyCFG] Swap to using TargetTransformInfo for cost analysis.

Andrea Di Biagio andrea.dibiagio at gmail.com
Tue Feb 10 09:13:43 PST 2015


On Tue, Feb 10, 2015 at 5:12 PM, Hal Finkel <hfinkel at anl.gov> wrote:
> ----- Original Message -----
>> From: "Andrea Di Biagio" <andrea.dibiagio at gmail.com>
>> To: "Hal Finkel" <hfinkel at anl.gov>
>> Cc: "James Molloy" <james at jamesmolloy.co.uk>, reviews+D7506+public+d608f0951474be02 at reviews.llvm.org,
>> "llvm-commits at cs.uiuc.edu for LLVM" <llvm-commits at cs.uiuc.edu>
>> Sent: Tuesday, February 10, 2015 10:59:15 AM
>> Subject: Re: [PATCH] [SimplifyCFG] Swap to using TargetTransformInfo for cost analysis.
>>
>> Hi James, Hal
>>
>> thanks for the feedback.
>>
>> In that case, I'll see if I can come up with a fix to improve the
>> cost
>> of intrinsic calls for x86.
>> On x86, the cost of cttz/ctlz would be either TCC_Basic or
>> TCC_Expensive based on whether we have certain features.
>>
>> @Hal: Does it mean that this patch would make the the code I added in
>> CodeGenPrepare to speculate calls to cttz/ctlz redundant? I see that
>> with this patch, some of the test cases in CodeGen/X86/lzcnt-tzcnt.ll
>> are now optimized by SimplifyCFG. The only unoptimized cases are
>> those
>> where the 'then' block contains extra instructions. I guess D7507
>> will
>> take care of it.
>>
>> Please correct me if I am wrong.
>
> I think you're right; it should get the simple speculation case. Will it also get the cases where we clear the 'undef on zero' flag?
>
>  -Hal

Yes, it would work because of this revision:

>
>>
>> Thanks!
>> Andrea
>>
>> On Tue, Feb 10, 2015 at 4:27 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>> > ----- Original Message -----
>> >> From: "James Molloy" <james at jamesmolloy.co.uk>
>> >> To: reviews+D7506+public+d608f0951474be02 at reviews.llvm.org, "james
>> >> molloy" <james.molloy at arm.com>, hfinkel at anl.gov,
>> >> "t p northover" <t.p.northover at gmail.com>, "Andrea DiBiagio"
>> >> <Andrea_DiBiagio at sn.scee.net>
>> >> Cc: llvm-commits at cs.uiuc.edu
>> >> Sent: Tuesday, February 10, 2015 10:22:07 AM
>> >> Subject: Re: [PATCH] [SimplifyCFG] Swap to using
>> >> TargetTransformInfo for cost analysis.
>> >>
>> >>
>> >> Hi Andrea,
>> >>
>> >> Performance on AArch64 showed no major swings. However, it sounds
>> >> to
>> >> me like your TargetTransformInfo isn't behaving correctly. That's
>> >> TTI's entire point, and the x86 one should surely return
>> >> "TCC_Expensive" for such intrinsic calls.
>> >>
>> >> I see that the default TTI does return TCC_Basic for almost all
>> >> intrinsics, and that is arguable behaviour. But there's no reason
>> >> you shouldn't override this. In fact, it seems the right thing to
>> >> do.
>> >>
>> >
>> > I agree, x86 should override these. I'll add that we're going to
>> > run into this more because we're starting to use the user-cost
>> > interface for more things. The target's user-cost implementations
>> > are not as well tuned as the cost interfaces used by the
>> > vectorizer.
>> >
>> >  -Hal
>> >
>> >>
>> >> Cheers,
>> >>
>> >>
>> >> James
>> >>
>> >> On Tue Feb 10 2015 at 2:53:52 PM Andrea Di Biagio <
>> >> Andrea_DiBiagio at sn.scee.net > wrote:
>> >>
>> >>
>> >> REPOSITORY
>> >> rL LLVM
>> >>
>> >> http://reviews.llvm.org/D7506
>> >>
>> >> EMAIL PREFERENCES
>> >> http://reviews.llvm.org/ settings/panel/ emailpreferences/
>> >>
>> >>
>> >>
>> >> ______________________________ _________________
>> >> llvm-commits mailing list
>> >> llvm-commits at cs.uiuc.edu
>> >> http://lists.cs.uiuc.edu/ mailman/listinfo/llvm-commits
>> >>
>> >
>> > --
>> > Hal Finkel
>> > Assistant Computational Scientist
>> > Leadership Computing Facility
>> > Argonne National Laboratory
>> > _______________________________________________
>> > llvm-commits mailing list
>> > llvm-commits at cs.uiuc.edu
>> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>
> --
> Hal Finkel
> Assistant Computational Scientist
> Leadership Computing Facility
> Argonne National Laboratory



More information about the llvm-commits mailing list