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

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
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).

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?


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