diff options
author | Martin Jambor <mjambor@suse.cz> | 2017-05-03 18:48:20 +0200 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2017-05-03 18:48:20 +0200 |
commit | 6fe906a33de7ad0679cbc4e070feed5809471462 (patch) | |
tree | 19839085eb16d54e65060d080eded79c6f3293ad /gcc/ipa-profile.c | |
parent | 57e563ac847e869fbe565e48c16183511a6c5863 (diff) | |
download | gcc-6fe906a33de7ad0679cbc4e070feed5809471462.zip gcc-6fe906a33de7ad0679cbc4e070feed5809471462.tar.gz gcc-6fe906a33de7ad0679cbc4e070feed5809471462.tar.bz2 |
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
Diffstat (limited to 'gcc/ipa-profile.c')
-rw-r--r-- | gcc/ipa-profile.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ipa-profile.c b/gcc/ipa-profile.c index ae1ca2f..0bfbfa1 100644 --- a/gcc/ipa-profile.c +++ b/gcc/ipa-profile.c @@ -620,7 +620,7 @@ ipa_profile (void) "Not speculating: target is overwritable " "and can be discarded.\n"); } - else if (ipa_node_params_sum && ipa_edge_args_vector + else if (ipa_node_params_sum && ipa_edge_args_sum && (!vec_safe_is_empty (IPA_NODE_REF (n2)->descriptors)) && ipa_get_param_count (IPA_NODE_REF (n2)) |