I think the right way to fix this is to wrap the call to early_inliner
and check the TODO flags.  See execute_function_todo:

 if (flags & TODO_cleanup_cfg)
    {
      cleanup_tree_cfg ();

      if (!(flags & TODO_update_ssa_any) && need_ssa_update_p (cfun))
        flags |= TODO_update_ssa;
    }

  if (flags & TODO_update_ssa_any)
    {
      unsigned update_flags = flags & TODO_update_ssa_any;
      update_ssa (update_flags);
      cfun->last_verified &= ~TODO_verify_ssa;
    }

David

On Thu, Mar 20, 2014 at 10:39 AM, Dehao Chen <de...@google.com> wrote:
> This patch calls update_ssa before compute_inline_paramters.
>
> Bootstrapped and perf test on-going.
>
> OK for google-4_8?
>
> Thanks,
> Dehao
>
> Index: gcc/auto-profile.c
> ===================================================================
> --- gcc/auto-profile.c (revision 208726)
> +++ gcc/auto-profile.c (working copy)
> @@ -1613,6 +1613,7 @@ auto_profile (void)
>    early_inliner ();
>   }
>
> +      update_ssa (TODO_update_ssa);
>        compute_inline_parameters (cgraph_get_node (current_function_decl),
> true);
>        early_inliner ();
>        autofdo::afdo_annotate_cfg (promoted_stmts);
>

Reply via email to