[PATCH] Improve IPA-CP handling of self-recursive calls
H.J. Lu
hjl.tools@gmail.com
Mon Apr 16 16:57:00 GMT 2018
On Wed, Apr 11, 2018 at 2:20 AM, Jan Hubicka <jh@suse.de> wrote:
>>
>> 2018-04-08 Martin Jambor <mjambor@suse.cz>
>>
>> PR ipa/84149
>> * ipa-cp.c (propagate_vals_across_pass_through): Expand comment.
>> (cgraph_edge_brings_value_p): New parameter dest_val, check if it
>> is
>> not the same as the source val.
>> (cgraph_edge_brings_value_p): New parameter.
>> (gather_edges_for_value): Pass destination value to
>> cgraph_edge_brings_value_p.
>> (perhaps_add_new_callers): Likewise.
>> (get_info_about_necessary_edges): Likewise and exclude values
>> brought
>> only by self-recursive edges.
>> (create_specialized_node): Redirect only clones of self-calling
>> edges.
>> (+self_recursive_pass_through_p): New function.
>> (find_more_scalar_values_for_callers_subset): Use it.
>> (find_aggregate_values_for_callers_subset): Likewise.
>> (known_aggs_to_agg_replacement_list): Removed.
>> (decide_whether_version_node): Re-calculate known constants for
>> all
>> remaining context clones.
>
This caused:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85421
--
H.J.
More information about the Gcc-patches
mailing list