Re: [PATCH 03/14] Rename get methods in symbol-summary.h to get_create.

2018-06-08 Thread Martin Liška
On 06/08/2018 11:50 AM, Martin Jambor wrote:
> Hi,
> 
> On Thu, Jun 07 2018, Jan Hubicka wrote:
>>>
>>> gcc/ChangeLog:
>>>
>>> 2018-04-24  Martin Liska  
>>>
>>> * config/i386/i386.c (ix86_can_inline_p): Use get_create instead
>>> of get.
>>> * hsa-common.c (hsa_summary_t::link_functions): Likewise.
>>> (hsa_register_kernel): Likewise.
>>> * hsa-common.h (hsa_gpu_implementation_p): Likewise.
>>> * hsa-gen.c (hsa_get_host_function): Likewise.
>>> (get_brig_function_name): Likewise.
>>> (generate_hsa): Likewise.
>>> (pass_gen_hsail::execute): Likewise.
>>> * ipa-cp.c (ipcp_cloning_candidate_p): Likewise.
>>> (devirtualization_time_bonus): Likewise.
>>> (ipcp_propagate_stage): Likewise.
>>> * ipa-fnsummary.c (redirect_to_unreachable): Likewise.
>>> (edge_set_predicate): Likewise.
>>> (evaluate_conditions_for_known_args): Likewise.
>>> (evaluate_properties_for_edge): Likewise.
>>> (ipa_fn_summary::reset): Likewise.
>>> (ipa_fn_summary_t::duplicate): Likewise.
>>> (dump_ipa_call_summary): Likewise.
>>> (ipa_dump_fn_summary): Likewise.
>>> (analyze_function_body): Likewise.
>>> (compute_fn_summary): Likewise.
>>> (estimate_edge_devirt_benefit): Likewise.
>>> (estimate_edge_size_and_time): Likewise.
>>> (estimate_calls_size_and_time): Likewise.
>>> (estimate_node_size_and_time): Likewise.
>>> (inline_update_callee_summaries): Likewise.
>>> (remap_edge_change_prob): Likewise.
>>> (remap_edge_summaries): Likewise.
>>> (ipa_merge_fn_summary_after_inlining): Likewise.
>>> (ipa_update_overall_fn_summary): Likewise.
>>> (read_ipa_call_summary): Likewise.
>>> (inline_read_section): Likewise.
>>> (write_ipa_call_summary): Likewise.
>>> (ipa_fn_summary_write): Likewise.
>>> (ipa_free_fn_summary): Likewise.
>>> * ipa-hsa.c (process_hsa_functions): Likewise.
>>> (ipa_hsa_write_summary): Likewise.
>>> (ipa_hsa_read_section): Likewise.
>>> * ipa-icf.c (sem_function::merge): Likewise.
>>> * ipa-inline-analysis.c (simple_edge_hints): Likewise.
>>> (do_estimate_edge_time): Likewise.
>>> (estimate_size_after_inlining): Likewise.
>>> (estimate_growth): Likewise.
>>> (growth_likely_positive): Likewise.
>>> * ipa-inline-transform.c (clone_inlined_nodes): Likewise.
>>> (inline_call): Likewise.
>>> * ipa-inline.c (caller_growth_limits): Likewise.
>>> (can_inline_edge_p): Likewise.
>>> (can_inline_edge_by_limits_p): Likewise.
>>> (compute_uninlined_call_time): Likewise.
>>> (compute_inlined_call_time): Likewise.
>>> (want_inline_small_function_p): Likewise.
>>> (edge_badness): Likewise.
>>> (update_caller_keys): Likewise.
>>> (update_callee_keys): Likewise.
>>> (recursive_inlining): Likewise.
>>> (inline_small_functions): Likewise.
>>> (inline_to_all_callers_1): Likewise.
>>> (dump_overall_stats): Likewise.
>>> (early_inline_small_functions): Likewise.
>>> (early_inliner): Likewise.
>>> * ipa-inline.h (estimate_edge_growth): Likewise.
>>> * ipa-profile.c (ipa_propagate_frequency_1): Likewise.
>>> * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
>>> * ipa-prop.h (IPA_NODE_REF): Likewise.
>>> (IPA_EDGE_REF): Likewise.
>>> * ipa-pure-const.c (malloc_candidate_p): Likewise.
>>> (propagate_malloc): Likewise.
>>> * ipa-split.c (execute_split_functions): Likewise.
>>> * symbol-summary.h: Rename get to get_create.
>>> (get): Likewise.
>>> (get_create): Likewise.
>>> * tree-sra.c (ipa_sra_preliminary_function_checks): Likewise.
> 
> ...
> 
>>>ipa_fn_summaries->release ();
>>>ipa_fn_summaries = NULL;
>>>ipa_call_summaries->release ();
>>> diff --git a/gcc/ipa-hsa.c b/gcc/ipa-hsa.c
>>> index 1df273c7f28..90d193fe517 100644
>>> --- a/gcc/ipa-hsa.c
>>> +++ b/gcc/ipa-hsa.c
>>
>> Probably Martin Jambor can comment on ipa-hsa.
> 
> That's how it works today, so this patch does not change anything.  It
> should be easy to create much fewer summaries - this is a leftover from
> early stages of HSA BE development.  I will put it on my TODO list.

Yes, I've just discussed that with Honza on IRC. He's fine with the renaming
and then doing step by step conversion to ::get at places where it's expected
no insertion is done.

Martin

> 
> Martin
> 



Re: [PATCH 03/14] Rename get methods in symbol-summary.h to get_create.

2018-06-08 Thread Martin Jambor
Hi,

On Thu, Jun 07 2018, Jan Hubicka wrote:
>> 
>> gcc/ChangeLog:
>> 
>> 2018-04-24  Martin Liska  
>> 
>>  * config/i386/i386.c (ix86_can_inline_p): Use get_create instead
>>  of get.
>>  * hsa-common.c (hsa_summary_t::link_functions): Likewise.
>>  (hsa_register_kernel): Likewise.
>>  * hsa-common.h (hsa_gpu_implementation_p): Likewise.
>>  * hsa-gen.c (hsa_get_host_function): Likewise.
>>  (get_brig_function_name): Likewise.
>>  (generate_hsa): Likewise.
>>  (pass_gen_hsail::execute): Likewise.
>>  * ipa-cp.c (ipcp_cloning_candidate_p): Likewise.
>>  (devirtualization_time_bonus): Likewise.
>>  (ipcp_propagate_stage): Likewise.
>>  * ipa-fnsummary.c (redirect_to_unreachable): Likewise.
>>  (edge_set_predicate): Likewise.
>>  (evaluate_conditions_for_known_args): Likewise.
>>  (evaluate_properties_for_edge): Likewise.
>>  (ipa_fn_summary::reset): Likewise.
>>  (ipa_fn_summary_t::duplicate): Likewise.
>>  (dump_ipa_call_summary): Likewise.
>>  (ipa_dump_fn_summary): Likewise.
>>  (analyze_function_body): Likewise.
>>  (compute_fn_summary): Likewise.
>>  (estimate_edge_devirt_benefit): Likewise.
>>  (estimate_edge_size_and_time): Likewise.
>>  (estimate_calls_size_and_time): Likewise.
>>  (estimate_node_size_and_time): Likewise.
>>  (inline_update_callee_summaries): Likewise.
>>  (remap_edge_change_prob): Likewise.
>>  (remap_edge_summaries): Likewise.
>>  (ipa_merge_fn_summary_after_inlining): Likewise.
>>  (ipa_update_overall_fn_summary): Likewise.
>>  (read_ipa_call_summary): Likewise.
>>  (inline_read_section): Likewise.
>>  (write_ipa_call_summary): Likewise.
>>  (ipa_fn_summary_write): Likewise.
>>  (ipa_free_fn_summary): Likewise.
>>  * ipa-hsa.c (process_hsa_functions): Likewise.
>>  (ipa_hsa_write_summary): Likewise.
>>  (ipa_hsa_read_section): Likewise.
>>  * ipa-icf.c (sem_function::merge): Likewise.
>>  * ipa-inline-analysis.c (simple_edge_hints): Likewise.
>>  (do_estimate_edge_time): Likewise.
>>  (estimate_size_after_inlining): Likewise.
>>  (estimate_growth): Likewise.
>>  (growth_likely_positive): Likewise.
>>  * ipa-inline-transform.c (clone_inlined_nodes): Likewise.
>>  (inline_call): Likewise.
>>  * ipa-inline.c (caller_growth_limits): Likewise.
>>  (can_inline_edge_p): Likewise.
>>  (can_inline_edge_by_limits_p): Likewise.
>>  (compute_uninlined_call_time): Likewise.
>>  (compute_inlined_call_time): Likewise.
>>  (want_inline_small_function_p): Likewise.
>>  (edge_badness): Likewise.
>>  (update_caller_keys): Likewise.
>>  (update_callee_keys): Likewise.
>>  (recursive_inlining): Likewise.
>>  (inline_small_functions): Likewise.
>>  (inline_to_all_callers_1): Likewise.
>>  (dump_overall_stats): Likewise.
>>  (early_inline_small_functions): Likewise.
>>  (early_inliner): Likewise.
>>  * ipa-inline.h (estimate_edge_growth): Likewise.
>>  * ipa-profile.c (ipa_propagate_frequency_1): Likewise.
>>  * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
>>  * ipa-prop.h (IPA_NODE_REF): Likewise.
>>  (IPA_EDGE_REF): Likewise.
>>  * ipa-pure-const.c (malloc_candidate_p): Likewise.
>>  (propagate_malloc): Likewise.
>>  * ipa-split.c (execute_split_functions): Likewise.
>>  * symbol-summary.h: Rename get to get_create.
>>  (get): Likewise.
>>  (get_create): Likewise.
>>  * tree-sra.c (ipa_sra_preliminary_function_checks): Likewise.

...

>>ipa_fn_summaries->release ();
>>ipa_fn_summaries = NULL;
>>ipa_call_summaries->release ();
>> diff --git a/gcc/ipa-hsa.c b/gcc/ipa-hsa.c
>> index 1df273c7f28..90d193fe517 100644
>> --- a/gcc/ipa-hsa.c
>> +++ b/gcc/ipa-hsa.c
>
> Probably Martin Jambor can comment on ipa-hsa.

That's how it works today, so this patch does not change anything.  It
should be easy to create much fewer summaries - this is a leftover from
early stages of HSA BE development.  I will put it on my TODO list.

Martin


Re: [PATCH 03/14] Rename get methods in symbol-summary.h to get_create.

2018-06-07 Thread Jan Hubicka
> 
> gcc/ChangeLog:
> 
> 2018-04-24  Martin Liska  
> 
>   * config/i386/i386.c (ix86_can_inline_p): Use get_create instead
>   of get.
>   * hsa-common.c (hsa_summary_t::link_functions): Likewise.
>   (hsa_register_kernel): Likewise.
>   * hsa-common.h (hsa_gpu_implementation_p): Likewise.
>   * hsa-gen.c (hsa_get_host_function): Likewise.
>   (get_brig_function_name): Likewise.
>   (generate_hsa): Likewise.
>   (pass_gen_hsail::execute): Likewise.
>   * ipa-cp.c (ipcp_cloning_candidate_p): Likewise.
>   (devirtualization_time_bonus): Likewise.
>   (ipcp_propagate_stage): Likewise.
>   * ipa-fnsummary.c (redirect_to_unreachable): Likewise.
>   (edge_set_predicate): Likewise.
>   (evaluate_conditions_for_known_args): Likewise.
>   (evaluate_properties_for_edge): Likewise.
>   (ipa_fn_summary::reset): Likewise.
>   (ipa_fn_summary_t::duplicate): Likewise.
>   (dump_ipa_call_summary): Likewise.
>   (ipa_dump_fn_summary): Likewise.
>   (analyze_function_body): Likewise.
>   (compute_fn_summary): Likewise.
>   (estimate_edge_devirt_benefit): Likewise.
>   (estimate_edge_size_and_time): Likewise.
>   (estimate_calls_size_and_time): Likewise.
>   (estimate_node_size_and_time): Likewise.
>   (inline_update_callee_summaries): Likewise.
>   (remap_edge_change_prob): Likewise.
>   (remap_edge_summaries): Likewise.
>   (ipa_merge_fn_summary_after_inlining): Likewise.
>   (ipa_update_overall_fn_summary): Likewise.
>   (read_ipa_call_summary): Likewise.
>   (inline_read_section): Likewise.
>   (write_ipa_call_summary): Likewise.
>   (ipa_fn_summary_write): Likewise.
>   (ipa_free_fn_summary): Likewise.
>   * ipa-hsa.c (process_hsa_functions): Likewise.
>   (ipa_hsa_write_summary): Likewise.
>   (ipa_hsa_read_section): Likewise.
>   * ipa-icf.c (sem_function::merge): Likewise.
>   * ipa-inline-analysis.c (simple_edge_hints): Likewise.
>   (do_estimate_edge_time): Likewise.
>   (estimate_size_after_inlining): Likewise.
>   (estimate_growth): Likewise.
>   (growth_likely_positive): Likewise.
>   * ipa-inline-transform.c (clone_inlined_nodes): Likewise.
>   (inline_call): Likewise.
>   * ipa-inline.c (caller_growth_limits): Likewise.
>   (can_inline_edge_p): Likewise.
>   (can_inline_edge_by_limits_p): Likewise.
>   (compute_uninlined_call_time): Likewise.
>   (compute_inlined_call_time): Likewise.
>   (want_inline_small_function_p): Likewise.
>   (edge_badness): Likewise.
>   (update_caller_keys): Likewise.
>   (update_callee_keys): Likewise.
>   (recursive_inlining): Likewise.
>   (inline_small_functions): Likewise.
>   (inline_to_all_callers_1): Likewise.
>   (dump_overall_stats): Likewise.
>   (early_inline_small_functions): Likewise.
>   (early_inliner): Likewise.
>   * ipa-inline.h (estimate_edge_growth): Likewise.
>   * ipa-profile.c (ipa_propagate_frequency_1): Likewise.
>   * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
>   * ipa-prop.h (IPA_NODE_REF): Likewise.
>   (IPA_EDGE_REF): Likewise.
>   * ipa-pure-const.c (malloc_candidate_p): Likewise.
>   (propagate_malloc): Likewise.
>   * ipa-split.c (execute_split_functions): Likewise.
>   * symbol-summary.h: Rename get to get_create.
>   (get): Likewise.
>   (get_create): Likewise.
>   * tree-sra.c (ipa_sra_preliminary_function_checks): Likewise.
> 
> gcc/lto/ChangeLog:
> 
> 2018-04-24  Martin Liska  
> 
>   * lto-partition.c (add_symbol_to_partition_1): Use get_create instead
>   of get.
>   (undo_partition): Likewise.
>   (lto_balanced_map): Likewise.
> ---
>  gcc/config/i386/i386.c |   2 +-
>  gcc/hsa-common.c   |   6 +--
>  gcc/hsa-common.h   |   3 +-
>  gcc/hsa-gen.c  |  11 +++--
>  gcc/ipa-cp.c   |   6 +--
>  gcc/ipa-fnsummary.c| 112 
> -
>  gcc/ipa-hsa.c  |  12 ++---
>  gcc/ipa-icf.c  |   2 +-
>  gcc/ipa-inline-analysis.c  |  21 +
>  gcc/ipa-inline-transform.c |  12 ++---
>  gcc/ipa-inline.c   |  72 +++--
>  gcc/ipa-inline.h   |   4 +-
>  gcc/ipa-profile.c  |   2 +-
>  gcc/ipa-prop.c |   4 +-
>  gcc/ipa-prop.h |   4 +-
>  gcc/ipa-pure-const.c   |   6 +--
>  gcc/ipa-split.c|   2 +-
>  gcc/lto/lto-partition.c|   6 +--
>  gcc/symbol-summary.h   |  22 +
>  gcc/tree-sra.c |   2 +-
>  20 files changed, 162 insertions(+), 149 deletions(-)
> 

> diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
> index 0c7a6b7d98f..cba192e6cfb 100644
> --- a/gcc/config/i386/i386.c
> +++ b/gcc/config/i386/i386.c
> @@ -5803,7 +5803,7 @@ ix86_can_inline_p (tree caller, tree callee)
> for multi-versioning call

[PATCH 03/14] Rename get methods in symbol-summary.h to get_create.

2018-05-17 Thread marxin

gcc/ChangeLog:

2018-04-24  Martin Liska  

* config/i386/i386.c (ix86_can_inline_p): Use get_create instead
of get.
* hsa-common.c (hsa_summary_t::link_functions): Likewise.
(hsa_register_kernel): Likewise.
* hsa-common.h (hsa_gpu_implementation_p): Likewise.
* hsa-gen.c (hsa_get_host_function): Likewise.
(get_brig_function_name): Likewise.
(generate_hsa): Likewise.
(pass_gen_hsail::execute): Likewise.
* ipa-cp.c (ipcp_cloning_candidate_p): Likewise.
(devirtualization_time_bonus): Likewise.
(ipcp_propagate_stage): Likewise.
* ipa-fnsummary.c (redirect_to_unreachable): Likewise.
(edge_set_predicate): Likewise.
(evaluate_conditions_for_known_args): Likewise.
(evaluate_properties_for_edge): Likewise.
(ipa_fn_summary::reset): Likewise.
(ipa_fn_summary_t::duplicate): Likewise.
(dump_ipa_call_summary): Likewise.
(ipa_dump_fn_summary): Likewise.
(analyze_function_body): Likewise.
(compute_fn_summary): Likewise.
(estimate_edge_devirt_benefit): Likewise.
(estimate_edge_size_and_time): Likewise.
(estimate_calls_size_and_time): Likewise.
(estimate_node_size_and_time): Likewise.
(inline_update_callee_summaries): Likewise.
(remap_edge_change_prob): Likewise.
(remap_edge_summaries): Likewise.
(ipa_merge_fn_summary_after_inlining): Likewise.
(ipa_update_overall_fn_summary): Likewise.
(read_ipa_call_summary): Likewise.
(inline_read_section): Likewise.
(write_ipa_call_summary): Likewise.
(ipa_fn_summary_write): Likewise.
(ipa_free_fn_summary): Likewise.
* ipa-hsa.c (process_hsa_functions): Likewise.
(ipa_hsa_write_summary): Likewise.
(ipa_hsa_read_section): Likewise.
* ipa-icf.c (sem_function::merge): Likewise.
* ipa-inline-analysis.c (simple_edge_hints): Likewise.
(do_estimate_edge_time): Likewise.
(estimate_size_after_inlining): Likewise.
(estimate_growth): Likewise.
(growth_likely_positive): Likewise.
* ipa-inline-transform.c (clone_inlined_nodes): Likewise.
(inline_call): Likewise.
* ipa-inline.c (caller_growth_limits): Likewise.
(can_inline_edge_p): Likewise.
(can_inline_edge_by_limits_p): Likewise.
(compute_uninlined_call_time): Likewise.
(compute_inlined_call_time): Likewise.
(want_inline_small_function_p): Likewise.
(edge_badness): Likewise.
(update_caller_keys): Likewise.
(update_callee_keys): Likewise.
(recursive_inlining): Likewise.
(inline_small_functions): Likewise.
(inline_to_all_callers_1): Likewise.
(dump_overall_stats): Likewise.
(early_inline_small_functions): Likewise.
(early_inliner): Likewise.
* ipa-inline.h (estimate_edge_growth): Likewise.
* ipa-profile.c (ipa_propagate_frequency_1): Likewise.
* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
* ipa-prop.h (IPA_NODE_REF): Likewise.
(IPA_EDGE_REF): Likewise.
* ipa-pure-const.c (malloc_candidate_p): Likewise.
(propagate_malloc): Likewise.
* ipa-split.c (execute_split_functions): Likewise.
* symbol-summary.h: Rename get to get_create.
(get): Likewise.
(get_create): Likewise.
* tree-sra.c (ipa_sra_preliminary_function_checks): Likewise.

gcc/lto/ChangeLog:

2018-04-24  Martin Liska  

* lto-partition.c (add_symbol_to_partition_1): Use get_create instead
of get.
(undo_partition): Likewise.
(lto_balanced_map): Likewise.
---
 gcc/config/i386/i386.c |   2 +-
 gcc/hsa-common.c   |   6 +--
 gcc/hsa-common.h   |   3 +-
 gcc/hsa-gen.c  |  11 +++--
 gcc/ipa-cp.c   |   6 +--
 gcc/ipa-fnsummary.c| 112 -
 gcc/ipa-hsa.c  |  12 ++---
 gcc/ipa-icf.c  |   2 +-
 gcc/ipa-inline-analysis.c  |  21 +
 gcc/ipa-inline-transform.c |  12 ++---
 gcc/ipa-inline.c   |  72 +++--
 gcc/ipa-inline.h   |   4 +-
 gcc/ipa-profile.c  |   2 +-
 gcc/ipa-prop.c |   4 +-
 gcc/ipa-prop.h |   4 +-
 gcc/ipa-pure-const.c   |   6 +--
 gcc/ipa-split.c|   2 +-
 gcc/lto/lto-partition.c|   6 +--
 gcc/symbol-summary.h   |  22 +
 gcc/tree-sra.c |   2 +-
 20 files changed, 162 insertions(+), 149 deletions(-)

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 0c7a6b7d98f..cba192e6cfb 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -5803,7 +5803,7 @@ ix86_can_inline_p (tree caller, tree callee)
 	  for multi-versioning call optimization, so beware of
 	  ipa_fn_summaries not available.  */
 	   && (! ipa