This is the mail archive of the gcc@gcc.gnu.org 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


LBR is used for both cfg edge profiling and indirect call Target value
profiling.

David

On Fri, Apr 10, 2015 at 3:26 PM, Xinliang David Li <davidxl@google.com> wrote:
> LBR is used for both cfg edge profiling and indirect call Target value
> profiling.
>
> David
>
> On Apr 10, 2015 10:39 AM, "Jan Hubicka" <hubicka@ucw.cz> wrote:
>>
>> > 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


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