On 11.04.2015 01:49, Xinliang David Li wrote:
On Fri, Apr 10, 2015 at 3:43 PM, Jan Hubicka <hubi...@ucw.cz> 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).
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?
--
Ilya