> 
> 2022-08-26  Martin Jambor  <mjam...@suse.cz>
> 
>       * ipa-prop.h (ipa_agg_value): Remove type.
>       (ipa_agg_value_set): Likewise.
>       (ipa_copy_agg_values): Remove function.
>       (ipa_release_agg_values): Likewise.
>       (ipa_auto_call_arg_values) Add a forward declaration.
>       (ipa_call_arg_values): Likewise.
>       (class ipa_argagg_value_list): New constructors, added member function
>       value_for_index_p.
>       (class ipa_auto_call_arg_values): Removed the destructor and member
>       function safe_aggval_at.  Use ipa_argagg_values for m_known_aggs.
>       (class ipa_call_arg_values): Removed member function safe_aggval_at.
>       Use ipa_argagg_values for m_known_aggs.
>       (ipa_get_indirect_edge_target): Removed declaration.
>       (ipa_find_agg_cst_for_param): Likewise.
>       (ipa_find_agg_cst_from_init): New declaration.
>       (ipa_agg_value_from_jfunc): Likewise.
>       (ipa_agg_value_set_from_jfunc): Removed declaration.
>       (ipa_push_agg_values_from_jfunc): New declaration.
>       * ipa-cp.cc (ipa_agg_value_from_node): Renamed to
>       ipa_agg_value_from_jfunc, made public.
>       (ipa_agg_value_set_from_jfunc): Removed.
>       (ipa_push_agg_values_from_jfunc): New function.
>       (ipa_get_indirect_edge_target_1): Removed known_aggs parameter, use
>       avs for this purpose too.
>       (ipa_get_indirect_edge_target): Removed the overload working on
>       ipa_auto_call_arg_values, use ipa_argagg_value_list in the remaining
>       one.
>       (devirtualization_time_bonus): Use ipa_argagg_value_list and
>       ipa_get_indirect_edge_target_1 instead of
>       ipa_get_indirect_edge_target.
>       (context_independent_aggregate_values): Removed function.
>       (gather_context_independent_values): Work on ipa_argagg_value_list.
>       (estimate_local_effects): Likewise, define some iterator variables
>       only in the construct where necessary.
>       (ipcp_discover_new_direct_edges): Adjust the call to
>       ipa_get_indirect_edge_target_1.
>       (push_agg_values_for_index_from_edge): Adjust the call
>       ipa_agg_value_from_node which has been renamed to
>       ipa_agg_value_from_jfunc.
>       * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Work on
>       ipa_argagg_value_list.
>       (evaluate_properties_for_edge): Replace manual filling in aggregate
>       values with call to ipa_push_agg_values_from_jfunc.
>       (estimate_calls_size_and_time): Work on ipa_argagg_value_list.
>       (ipa_cached_call_context::duplicate_from): Likewise.
>       (ipa_cached_call_context::release): Likewise.
>       (ipa_call_context::equal_to): Likewise.
>       * ipa-prop.cc (ipa_find_agg_cst_from_init): Make public.
>       (ipa_find_agg_cst_for_param): Removed function.
>       (ipa_find_agg_cst_from_jfunc_items): New function.
>       (try_make_edge_direct_simple_call): Replace calls to
>       ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
>       ipa_find_agg_cst_from_init and ipa_find_agg_cst_from_jfunc_items.
>       (try_make_edge_direct_virtual_call): Replace calls to
>       ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
>       simple query of constant jump function and a call to
>       ipa_find_agg_cst_from_jfunc_items.
>       (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): Removed.

OK,
thanks!
Honza

Reply via email to