On 12/5/19 1:30 PM, Richard Biener wrote:
I wonder if the behavior shouldn't be the default? The only thing we lose is failing to notice really cold calls (error paths) in programs?
I would also consider enabling that by default. I'm sending a language correction for the option documentation: diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 26a444ac7b2..130529dece1 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -10637,10 +10637,10 @@ This option is enabled by @option{-fauto-profile}. @item -fprofile-partial-training @opindex fprofile-use With @code{-fprofile-use} all portions of programs not executed during train -run are optimized agressively for size rather than speed. In some cases it is not +run are optimized aggressively for size rather than speed. In some cases it is not practical to train all possible paths hot paths in the program. (For example -program may contain functions specific for a given hardware and trianing may -not cover all hardware configurations program is run on.) With +a program may contain functions specific for a given hardware and training may +not cover all hardware configurations program can run on). With @code{-fprofile-partial-training} profile feedback will be ignored for all functions not executed during the train run leading them to be optimized as if they were compiled without profile feedback. Martin