]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/ipa-prop.cc
Use call_summary in ipa-prop and ipa-cp
authorMartin Jambor <mjambor@suse.cz>
Wed, 3 May 2017 16:48:20 +0000 (18:48 +0200)
committerMartin Jambor <jamborm@gcc.gnu.org>
Wed, 3 May 2017 16:48:20 +0000 (18:48 +0200)
commit6fe906a33de7ad0679cbc4e070feed5809471462
tree19839085eb16d54e65060d080eded79c6f3293ad
parent57e563ac847e869fbe565e48c16183511a6c5863
Use call_summary in ipa-prop and ipa-cp

2017-05-03  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.h (ipa_edge_args): Make a class.  Mark with for_user GTY
tag.  Added a default constructor and a destructor.
(ipa_edge_args_sum_t): New class;
(ipa_edge_args_sum): Declare.
(ipa_edge_args_vector): Remove declaration.
(IPA_EDGE_REF): Use ipa_edge_args_sum.
(ipa_free_edge_args_substructures): Remove declaration.
(ipa_check_create_edge_args): Use ipa_edge_args_sum.
(ipa_edge_args_info_available_for_edge_p): Likewise.
* ipa-prop.c (ipa_edge_args_vector): Removed.
(edge_removal_hook_holder): Likewise.
(edge_duplication_hook_holder): Likewise.
(ipa_edge_args_sum): New variable.
(ipa_propagate_indirect_call_infos): Test ipa_edge_args_sum instead of
ipa_edge_args_vector.
(ipa_free_edge_args_substructures): Likewise.
(ipa_free_all_edge_args): Free ipa_edge_args_sum instead of
ipa_edge_args_vector.
(ipa_edge_removal_hook): Turned into method
ipa_edge_args_sum_t::remove.
(ipa_edge_duplication_hook): Turned into method
ipa_edge_args_sum_t::duplicate.
(ipa_register_cgraph_hooks): Create ipa_edge_args_sum instead of
registering edge hooks.
(ipa_unregister_cgraph_hooks): Do not unregister edge hooks.
* ipa-inline-analysis.c (estimate_function_body_sizes): Test
ipa_edge_args_sum instead of ipa_edge_args_vector.
* ipa-profile.c (ipa_profile): Likewise.

From-SVN: r247558
gcc/ChangeLog
gcc/ipa-inline-analysis.c
gcc/ipa-profile.c
gcc/ipa-prop.c
gcc/ipa-prop.h