[PATCH 5/6] Port IPA reference to function_summary infrastructure.

Martin Liška mliska@suse.cz
Thu Jul 9 20:46:00 GMT 2015


On 07/09/2015 07:35 PM, Jeff Law wrote:
> On 07/09/2015 03:13 AM, mliska wrote:
>> gcc/ChangeLog:
>>
>> 2015-07-03  Martin Liska  <mliska@suse.cz>
>>
>>     * ipa-reference.c (ipa_ref_opt_summary_t): New class.
>>     (get_reference_optimization_summary): Use it.
>>     (set_reference_optimization_summary): Likewise.
>>     (ipa_init): Remove hook holders usage.
>>     (ipa_reference_c_finalize): Likewise.
>>     (ipa_ref_opt_summary_t::duplicate): New function.
>>     (ipa_ref_opt_summary_t::remove): Likewise.
>>     (propagate): Allocate the summary if does not exist.
>>     (ipa_reference_read_optimization_summary): Likewise.
>>     (struct ipa_reference_vars_info_d): Add new method.
>>     (struct ipa_reference_optimization_summary_d): Likewise.
>>     (get_reference_vars_info): Use new underlying container.
>>     (set_reference_vars_info): Remove.
>>     (init_function_info): Set up the container.
>
>> @@ -89,6 +84,13 @@ struct ipa_reference_global_vars_info_d
>>
>>   struct ipa_reference_optimization_summary_d
>>   {
>> +  /* Return true if the data structure is empty.  */
>> +  inline bool
>> +  empty_p ()
>> +  {
>> +    return statics_not_read == NULL && statics_not_written == NULL;
>> +  }
>> +
> Presumably this is still POD, even with the inline function, so "struct" is still correct, right?
>
>
>
>> @@ -99,6 +101,14 @@ typedef struct ipa_reference_optimization_summary_d *ipa_reference_optimization_
>>
>>   struct ipa_reference_vars_info_d
>>   {
>> +  /* Return true if the data structure is empty.  */
>> +  inline bool
>> +  empty_p ()
>> +  {
>> +    return local.statics_read == NULL && local.statics_written == NULL
>> +      && global.statics_read == NULL && global.statics_written == NULL;
>> +  }
>> +
> Similarly.
>
> So please confirm those are still POD types.  If they are, then the patch is OK as-is.  If they're not PODs, then change them to classes and that patch is pre-approved.
>
> jeff
>

Hi.

Yes, that are POD types.

Martin



More information about the Gcc-patches mailing list