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

Reply via email to