This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: AutoFDO profile toolchain is open-sourced
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Sebastian Pop <sebpop at gmail dot com>
- Cc: Ilya Palachev <i dot palachev at samsung dot com>, Dehao Chen <dehao at google dot com>, GCC Development <gcc at gcc dot gnu dot org>, Vyacheslav Barinov <v dot barinov at samsung dot com>, David Li <davidxl at google dot com>, Diego Novillo <dnovillo at google dot com>
- Date: Fri, 10 Apr 2015 22:39:27 +0200
- Subject: Re: AutoFDO profile toolchain is open-sourced
- Authentication-results: sourceware.org; auth=none
- References: <CAO2gOZWydpiBXb=1QDyCRt-ybDieqy8X4S_+uRZk2Y2v+cFdYQ at mail dot gmail dot com> <5523ED98 dot 8080007 at samsung dot com> <CAFk3UF8To5Qcz8NN5rUF3z6j8CCg_89A+62P=1U9YrtbZ5=mLg at mail dot gmail dot com>
> On Tue, Apr 7, 2015 at 9:45 AM, Ilya Palachev <i.palachev@samsung.com> wrote:
> > In the mentioned README file it is said that " In order to collect this
> > profile, you will need to have an Intel CPU that have last branch record
> > (LBR) support." Is this information obsolete? Chrome Canary builds use
> > AutoFDO for ARMv7l
> > (https://code.google.com/p/chromium/issues/detail?id=434587)
>
> It does not mean that the profile was recorded on an ARM system: they
> can gather perf.data on x86 and then produce a coverage file that is
> then used in ARM compiles. I tried it and seems to work well.
I must say I did not even try running AutoFDO myself (so I am happy to hear
it works). My understanding is that you need LBR only to get indirect
call profiling working (i.e. you want to know from where the indirect
function is called).
Depending on your application this may not be the most important thing to
record (either you don't have indirect calls in hot paths or they are handled
resonably by speculative devirtualization)
Some ARMs also has support for tracing jump pairs, right?
Honza
>
> Sebastian