[PATCH, 5.x/6.x/7.x] Be more conservative in early inliner if FDO is enabled

Richard Biener richard.guenther@gmail.com
Tue Sep 20 11:44:00 GMT 2016


On Fri, Sep 16, 2016 at 2:00 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
>> > > I also like a new param better as it avoids a new magic constant and
>> > > makes playing with
>> > > it easier (your patch removes the ability to do statistics like you did via the
>> > > early-inlining-insns parameter by forcing it to two).
>> >
>> > Hmm, you are right that you do not know if this particular function will get
>> > profile (forgot about that).  Still, please use two params - it is more
>> > consistent with what we have now and we may make it profile specific in
>> > future..
>> >
>> > Honza
>> > >
>> > > Thanks,
>> > > Richard.
>>
>> A new patch for trunk is attached.
>>
>> Regards,
>> Yuan, Pengfei
>>
>>
>> 2016-09-16  Yuan Pengfei  <ypf@pku.edu.cn>
>>
>>       * doc/invoke.texi (--param early-inlining-insns-feedback): New.
>>       * ipa-inline.c (want_early_inline_function_p): Use
>>       PARAM_EARLY_INLINING_INSNS_FEEDBACK when FDO is enabled.
>>       * params.def (PARAM_EARLY_INLINING_INSNS_FEEDBACK): Define.
>>       (PARAM_EARLY_INLINING_INSNS): Change help string accordingly.

Btw, It occurs to me that then win in code-size might be purely due to the
smaller base value for the TU size we use to compute the maximum unit
growth with ... any idea how to improve it on this side?  Say, computing
the TU size before early optimization (uh, probably not ...)

That said, the inliner always completely fills its budged, that is, increase
the unit by max-unit-growth?

Richard.

> OK,
> thanks
>
> Honza



More information about the Gcc-patches mailing list