State of AutoFDO in GCC

Andi Kleen ak@linux.intel.com
Sun May 9 16:28:23 GMT 2021


> With my tests, AutoFDO could achieve almost half of the effect of
> instrumentation FDO on real applications such as MySQL 8.0.20 .

Likely this could be improved with some of the missing changes. 
Apparently discriminator support is worth quite a bit especially on 
dense C++ code bases. Without that, gcc autofdo only works on line 
numbers, which can be very limiting if single lines have a lot of basic 
blocks.

Sadly discriminator support is currently only on the old Google branch 
and not in gcc mainline

Longer term it would probably be best to replace all this with some 
custom specialized binary annotation instead of stretching DWARF beyond 
its limits.

-Andi



More information about the Gcc mailing list