This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Improve IPA-CP handling of self-recursive calls
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Jan Hubicka <jh at suse dot de>
- Cc: Martin Jambor <mjambor at suse dot cz>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <jh at suse dot cz>
- Date: Mon, 16 Apr 2018 09:57:17 -0700
- Subject: Re: [PATCH] Improve IPA-CP handling of self-recursive calls
- References: <ri6tvskc9j2.fsf@suse.cz> <ed185270a83d40abc76e0ca73c55a0ca@suse.de>
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.