Verified identical binaries created and submitted.

Mark

On Wed, May 18, 2011 at 11:37 AM, Xinliang David Li <davi...@google.com> wrote:
> Ok with that change to google/main with some retesting.
>
> David
>
> On Wed, May 18, 2011 at 11:34 AM, Mark Heffernan <meh...@google.com> wrote:
>> On Wed, May 18, 2011 at 10:52 AM, Xinliang David Li <davi...@google.com> 
>> wrote:
>>> The new change won't help those. Your original place will be ok if you
>>> test profile_arcs and branch_probability flags.
>>
>> Ah, yes.  I see your point now. Reverted to the original change with
>> condition profile_arc_flag and flag_branch_probabilities.
>>
>> Mark
>>
>>>
>>> David
>>>
>>>
>>> On Wed, May 18, 2011 at 10:39 AM, Mark Heffernan <meh...@google.com> wrote:
>>>> On Tue, May 17, 2011 at 11:34 PM, Xinliang David Li <davi...@google.com>
>>>> wrote:
>>>>>
>>>>> To make consistent inline decisions between profile-gen and
>>>>> profile-use, probably better to check these two:
>>>>>
>>>>> flag_profile_arcs and flag_branch_probabilities.  -fprofile-use
>>>>> enables profile-arcs, and value profiling is enabled only when
>>>>> edge/branch profiling is enabled (so no need to be checked).
>>>>
>>>> I changed the location where these parameters are set to someplace more
>>>> appropriate (to where the flags are set when profile gen/use is indicated).
>>>>  Verified identical binaries are generated.
>>>> OK as updated?
>>>>
>>>> Mark
>>>> 2011-05-18  Mark Heffernan  <meh...@google.com>
>>>> * opts.c (set_profile_parameters): New function.
>>>> Index: opts.c
>>>> ===================================================================
>>>> --- opts.c      (revision 173666)
>>>> +++ opts.c      (working copy)
>>>> @@ -1209,6 +1209,25 @@ print_specific_help (unsigned int includ
>>>>                        opts->x_help_columns, opts, lang_mask);
>>>>  }
>>>>
>>>> +
>>>> +/* Set parameters to more appropriate values when profile information
>>>> +   is available.  */
>>>> +static void
>>>> +set_profile_parameters (struct gcc_options *opts,
>>>> +                       struct gcc_options *opts_set)
>>>> +{
>>>> +  /* With accurate profile information, inlining is much more
>>>> +     selective and makes better decisions, so increase the
>>>> +     inlining function size limits.  */
>>>> +  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);
>>>> +}
>>>> +
>>>> +
>>>>  /* Handle target- and language-independent options.  Return zero to
>>>>     generate an "unknown option" message.  Only options that need
>>>>     extra handling need to be listed here; if you simply want
>>>> @@ -1560,6 +1579,7 @@ common_handle_option (struct gcc_options
>>>>         opts->x_flag_unswitch_loops = value;
>>>>        if (!opts_set->x_flag_gcse_after_reload)
>>>>         opts->x_flag_gcse_after_reload = value;
>>>> +      set_profile_parameters (opts, opts_set);
>>>>        break;
>>>>
>>>>      case OPT_fprofile_generate_:
>>>> @@ -1580,6 +1600,7 @@ common_handle_option (struct gcc_options
>>>>          is done.  */
>>>>        if (!opts_set->x_flag_ipa_reference && in_lto_p)
>>>>          opts->x_flag_ipa_reference = false;
>>>> +      set_profile_parameters (opts, opts_set);
>>>>        break;
>>>>
>>>>      case OPT_fshow_column:
>>>>
>>>
>>
>

Reply via email to