[llvm-dev] [RFC] Adding target-specific overrides for Indirect Call Promotion (ICP)

Teresa Johnson via llvm-dev llvm-dev at lists.llvm.org
Sun Aug 25 08:08:07 PDT 2019


Ok, thanks. For some odd reason I got two copies of the original email, so
I missed Hal and your responses. Let's continue on that thread. Teresa

On Sun, Aug 25, 2019 at 6:34 AM Wael Yehia <wyehia at ca.ibm.com> wrote:

> Hi Teresa,
>   -icp-max-annotations=7
>   -icp-max-prom=7
>   -icp-remaining-percent-threshold=10
> are the values that shown improvement on Power9. Please see my reply to
> Hal Finkel in this thread for more details.
>
> Wael
>
>
> -----Teresa Johnson <tejohnson at google.com> wrote: -----
> To: Wael Yehia <wyehia at ca.ibm.com>
> From: Teresa Johnson <tejohnson at google.com>
> Date: 08/24/2019 11:22AM
> Cc: llvm-dev <llvm-dev at lists.llvm.org>
> Subject: [EXTERNAL] Re: [RFC] Adding target-specific overrides for
> Indirect Call Promotion (ICP)
>
>
>
> On Thu, Aug 22, 2019 at 8:34 AM Wael Yehia <wyehia at ca.ibm.com> wrote:
>
>> Hi,
>> We see improved performance on the PowerPC platform by increasing the
>> aggressiveness of Indirect Call Promotion (ICP).
>> In particular, lowering the promotion threshold and increasing the
>> maximum number of promotions helps.
>> The following command line options (default values shown) control some of
>> the ICP parameters:
>>   -icp-max-annotations=3
>>   -icp-max-prom=3
>>   -icp-remaining-percent-threshold=30
>> We would like to change their defaults to a target specific value.
>>
>
> The above are defaults - what values are you finding are best on PowerPC?
> I'd be interested in trying the values you found to be optimal there again
> on e.g. x86 to evaluate their effectiveness. We've done various experiments
> and tuning of these values, but curious to try.
>
>
>> I have few questions:
>>  1. Is anyone else interested in having target specific default values
>> for the above options?
>>
>
> It if makes sense from an architectural standpoint - i.e. are indirect
> calls much more expensive in PowerPC than say x86?
>
> Teresa
>
>
>>  2. Is anyone against making the defaults for the above options target
>> dependent?
>>  3. If I were to make the default values target dependent (but allow user
>> specified option to trump the defaults) the question is whether the
>> following is the best and simplest way to do it:
>>   - teach `TargetTransformInfo` (TTI) about the above 3 values (basically
>> add 3 integer-returning query functions).
>>   - make `PGOinstrumentationUse`, `PGOIndirectCallPromotion`, and
>> `ModuleSummaryIndexAnalysis` passes require the `TargetIRAnalysis` pass so
>> that they can access the TTI instance, and pass it to
>> `ICallPromotionAnalysis`.
>>   The legacy PM passes would be changed symmetrically.
>>
>> Thank you.
>>
>> Wael Yehia
>> Compiler Development
>> IBM Canada Lab
>> wyehia at ca.ibm.com
>>
>>
>
> --
> Teresa Johnson |  Software Engineer |  tejohnson at google.com |
>
>

-- 
Teresa Johnson |  Software Engineer |  tejohnson at google.com |
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190825/1da11640/attachment.html>


More information about the llvm-dev mailing list