Increasing the number of early inliner iterations from 1 to 2 enables more indirect calls to be promoted/inlined before instrumentation. This in turn reduces the instrumentation overhead, particularly for more expensive indirect call topn profiling.
Passes internal testing and regression tests. Ok for google/4_9? 2014-10-18 Teresa Johnson <tejohn...@google.com> Google ref b/17934523 * opts.c (finish_options): Increase max-early-inliner-iterations to 2 for profile-gen and profile-use builds. Index: opts.c =================================================================== --- opts.c (revision 216286) +++ opts.c (working copy) @@ -870,6 +869,14 @@ finish_options (struct gcc_options *opts, struct g opts->x_param_values, opts_set->x_param_values); } + if (opts->x_profile_arc_flag + || opts->x_flag_branch_probabilities) + { + maybe_set_param_value + (PARAM_EARLY_INLINER_MAX_ITERATIONS, 2, + opts->x_param_values, opts_set->x_param_values); + } + if (!(opts->x_flag_auto_profile || (opts->x_profile_arc_flag || opts->x_flag_branch_probabilities))) { -- Teresa Johnson | Software Engineer | tejohn...@google.com | 408-460-2413