===================================================================
@@ -828,6 +828,22 @@ finish_options (struct gcc_options *opts
opts->x_flag_split_stack = 0;
}
}
+
+ if (opts->x_flag_profile_use
+ || opts->x_profile_arc_flag
+ || opts->x_flag_profile_values)
+ {
+ /* With accurate profile information, inlining is much more
+ selective and makes better decisions, so increase the
+ inlining function size limits. Changes must be added to both
+ the generate and use builds to avoid profile mismatches. */
+ maybe_set_param_value
+ (PARAM_MAX_INLINE_INSNS_SINGLE, 1000,
+ opts->x_param_values, opts_set->x_param_values);
+ maybe_set_param_value
+ (PARAM_MAX_INLINE_INSNS_AUTO, 1000,
+ opts->x_param_values, opts_set->x_param_values);
+ }
}