]> git.ipfire.org Git - thirdparty/gcc.git/commit
Use call_summary in ipa-prop and ipa-cp
authorjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 3 May 2017 16:48:20 +0000 (16:48 +0000)
committerjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 3 May 2017 16:48:20 +0000 (16:48 +0000)
commit322dd0103e7b7cc16dda43c64b85ff1437a84114
tree19839085eb16d54e65060d080eded79c6f3293ad
parente39ec7a347ba23a31492a3d973bc5fc8a6360642
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247558 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/ipa-inline-analysis.c
gcc/ipa-profile.c
gcc/ipa-prop.c
gcc/ipa-prop.h