[google-4_6] fix profile mismatch in stream LIPO (issue6194059)

Xinliang David Li davidxl@google.com
Tue May 8 16:55:00 GMT 2012


Ok.

David

On Tue, May 8, 2012 at 9:53 AM, Rong Xu <xur@google.com> wrote:
> Hi,
>
> This patch is for google-4_6 branch only.
>
> It fixes a profile mismatch in streaming LIPO and recovers the performance loss
> due to this.
>
> Tested with google internal benchmarks.
>
> Thanks,
>
> 2012-05-08   Rong Xu  <xur@google.com>
>
>        * ipa-inline.c (fixed_arg_function_p):
>        (better_inline_comdat_function_p): match lipo_gen in stream LIPO.
>
> Index: ipa-inline.c
> ===================================================================
> --- ipa-inline.c        (revision 187275)
> +++ ipa-inline.c        (working copy)
> @@ -658,7 +658,7 @@ fixed_arg_function_p (tree fndecl)
>  static bool
>  better_inline_comdat_function_p (struct cgraph_node *node)
>  {
> -  return (profile_arc_flag && flag_dyn_ipa
> +  return (profile_arc_flag && (flag_dyn_ipa || flag_ripa_stream)
>           && DECL_COMDAT (node->decl)
>           && node->global.size <= PARAM_VALUE (PARAM_MAX_INLINE_INSNS_SINGLE)
>           && fixed_arg_function_p (node->decl));
>
> --
> This patch is available for review at http://codereview.appspot.com/6194059



More information about the Gcc-patches mailing list