This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: AutoFDO profile toolchain is open-sourced

> Date: Fri, 8 May 2015 11:19:12 -0700
> Subject: Re: AutoFDO profile toolchain is open-sourced
> From:
> To:
> CC:;;;;;
> On Fri, May 8, 2015 at 2:00 AM, Ilya Palachev <> wrote:
>> On 11.04.2015 01:49, Xinliang David Li wrote:
>>> On Fri, Apr 10, 2015 at 3:43 PM, Jan Hubicka <> wrote:
>>>>> LBR is used for both cfg edge profiling and indirect call Target value
>>>>> profiling.
>>>> I see, that makes sense ;) I guess if we want to support profile
>>>> collection
>>>> on targets w/o this feature we could still use one of the algorithms that
>>>> try to guess edge profile from BB profile.
>>> Our experience with sampling cycles or retired instructions to guess
>>> BB profile has not been great -- the profile quality is significantly
>>> worse than LBR (which can almost match instrumentation based profile).
>> Suppose that I have no opportunity to collect profile on x86 architecture
>> with LBR support and the only available architecture is arm/aarch64 (since
>> the application code is significantly different when compiled for different
>> architectures because of manual optimizations and different function names
>> and structure).
> If it's already manually tuned towards architecture (or even
> hand-written inlined-assembly), then I don't think FDO/AutoFDO can
> help much.
>> Honza has mentioned that it's possible to guess edge profile from BB
>> profile. How do you think, can this help in the above described situation?
>> Yes, this will be much worse than LBR, but can it give any performance
>> benefit compared with no edge profile at all?
> Yes, it will. But it's not well tuned at all. I will start tuning it
> if I have free cycles. It would be great if opensource community can
> also contribute to this tuning effort.

If you could outline portions of code which needs tuning, rewriting, that will help get started in this effort.


> Cheers,
> Dehao
>> --
>> Ilya

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]