[PATCH] D28966: [PGO] Memory intrinsic calls optimization based on profiled size

Xinliang David Li via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 8 11:42:22 PST 2017


On Wed, Mar 8, 2017 at 11:29 AM, Rong Xu <xur at google.com> wrote:

>
>
> On Wed, Mar 8, 2017 at 11:24 AM, Xinliang David Li <davidxl at google.com>
> wrote:
>
>>
>>
>> On Wed, Mar 8, 2017 at 11:11 AM, Rong Xu via Phabricator <
>> reviews at reviews.llvm.org> wrote:
>>
>>> xur added a comment.
>>>
>>> In https://reviews.llvm.org/D28966#694902, @davidxl wrote:
>>>
>>> > The optimization pass should be split into two phases as IC promotion.
>>> The annotation part should probably  be merged with the instrumentation
>>> patch. The transformation patch should be done in the same pass as
>>> IndirectCallPromotion.
>>>
>>>
>>> Is there a good reason for doing the transformation late?  Here I don't
>>> do the annotation and instead, I do the transformation directly in the same
>>> pass. The main reason we have annotations in indirect-call-promotion is we
>>> need to call it late (in LTO or ThinLTO). Another reason I'm reluctant to
>>> use annotation is that we need to maintain/update it (for inline and
>>> unroll, for example).
>>>
>>
>> Unlike the indirect call promotion, which enables more inlining, stringOp
>> value prof transformation can lead to increased function body size that
>> negatively affect inlining decisions.
>>
>> This is true. But the profile we collect is before inline.  The count
> values does not have context information. The only thing we can do is to
> scale down based on the edge count.
>

Right, but there is no profile meta-data update needed either.  The value
counts total should match the enclosing BB count. If not, scale it before
deciding profit.  Even though it does not have full context sensitivity, it
provides some benefit of context hotness. When the call context const prop
the size parameter, the transformation can be skipped as well.


>
> This also required a separated pass -- we don't have this for
> indirect-call promotion either (the LTO part of the ICP is different).
>

Indirect Call Promotion is a separate pass.

David



>
>
>> David
>>
>>
>>>
>>> -Rong
>>>
>>>
>>> https://reviews.llvm.org/D28966
>>>
>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170308/39b8f577/attachment.html>


More information about the llvm-commits mailing list