State of AutoFDO in GCC
172060045@hdu.edu.cn
172060045@hdu.edu.cn
Thu Apr 29 14:45:01 GMT 2021
Hi all,
I`m using GCC 9.3 AutoFDO and the old version create_gcov on arm64
and it works well. Actually it support not only LBR like mode but
also inst_retired even cycles event, which`s the early implementation
of AutoFDO[1]. There is no difference in output format of create_gcov
between LBR mode and inst_retired. inst_retired is less accurate than
LBR but still works.
I hope AutoFDO could work better on GCC and am willing to contribute
to it, does anybody have suggestions for me?
[1] Ramasamy, Vinodha, et al. "Feedback-directed optimizations in gcc
with estimated edge profiles from hardware event sampling." (2008).
> On Mon, Apr 26, 2021 at 06:40:56PM +0000, Hongtao Yu wrote:
> > Andi, thanks for pointing out the perf script issues. Can you please
> > elaborate a bit on the exact issue you have seen? We’ve been using
> > specific output of perf script such as mmap, LBR and callstack events
> > filtered by process id. It works fine so far but may certainly hit issues
> > in the future with extended uses.
>
> Okay I took a look at the latest autofdo now. It seems to be basically
> a LLVM project now that depends on LLVM to even build with all kinds
> of dependency hell on some old LLVM version and other packages.
>
> I guess gcc will really need a replacement that doesn't pull in
> all of LLVM if it wants to continue supporting autofdo.
>
> I'm myself unable to build now.
>
> I'm using the old version I had a git fork of and that
> was before all of this. I added a patch to make it work
> with the latest perf by ignoring increased perf_attr
> and unknown perf events.
>
> Honza please use
>
> https://github.com/andikleen/autofdo -b perf-future
>
> for testing.
>
> -Andi
More information about the Gcc
mailing list