Gcc 5.0 has added support for FDO which uses perf to
generate profile. There is documentation for this in gcc manual,
to quote:
-fauto-profile=path
Enable sampling-based feedback-directed optimizations, and the
following optimizations which are generally profitable only with
profile feedback available: -fbranch-probabilities, -fvpt,
-funroll-loops, -fpeel-loops, -ftracer, -ftree-vectorize,
-finline-functions, -fipa-cp, -fipa-cp-clone,
-fpredictive-commoning, -funswitch-loops, -fgcse-after-reload,
and -ftree-loop-distribute-patterns.
path is the name of a file containing AutoFDO profile
information. If omitted, it defaults to fbdata.afdo in the
current directory.
Producing an AutoFDO …