[GOOGLE] Unrestrict early inline restrictions for AutoFDO

Dehao Chen dehao@google.com
Tue Jun 4 16:51:00 GMT 2013


Patch updated to set the iteration threshold to 10 for AutoFDO.
Performance test shows ok.

OK for google-4_8 branch?

Thanks,
Dehao

Index: gcc/ipa-inline.c
===================================================================
--- gcc/ipa-inline.c (revision 199593)
+++ gcc/ipa-inline.c (working copy)
@@ -2161,8 +2161,7 @@ early_inliner (void)
     {
       /* We iterate incremental inlining to get trivial cases of indirect
  inlining.  */
-      while ((flag_auto_profile
-      || iterations < PARAM_VALUE (PARAM_EARLY_INLINER_MAX_ITERATIONS))
+      while (iterations < PARAM_VALUE (PARAM_EARLY_INLINER_MAX_ITERATIONS)
      && early_inline_small_functions (node))
  {
   timevar_push (TV_INTEGRATION);
Index: gcc/opts.c
===================================================================
--- gcc/opts.c (revision 199593)
+++ gcc/opts.c (working copy)
@@ -784,6 +784,10 @@ finish_options (struct gcc_options *opts, struct g
      opts->x_param_values, opts_set->x_param_values);
     }

+  if (opts->x_flag_auto_profile)
+    maybe_set_param_value (PARAM_EARLY_INLINER_MAX_ITERATIONS, 10,
+   opts->x_param_values, opts_set->x_param_values);
+
   if (opts->x_flag_lto)
     {
 #ifdef ENABLE_LTO



More information about the Gcc-patches mailing list