ipa-cp.c (ipa_value_from_jfunc): Make global.
authorMaxim Kuvyrkov <maxim@codesourcery.com>
Tue, 15 Nov 2011 03:46:08 +0000 (03:46 +0000)
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>
Tue, 15 Nov 2011 03:46:08 +0000 (03:46 +0000)
commitd2d668fbbb3625987fa4117e63df38fa745874bd
tree1efbbc4ccd7ffb98f0069e2281a731e60cdb0fa3
parente3790e8a9f45bd38f4cf3aa1df6bbf1020b2931c
ipa-cp.c (ipa_value_from_jfunc): Make global.

* ipa-cp.c (ipa_value_from_jfunc): Make global.
(ipa_cst_from_jfunc): Remove, use ipa_value_from_jfunc instead.
(get_indirect_edge_target): Rename, make global.
(devirtualization_time_bonus, estimate_local_effects,)
(ipcp_discover_new_direct_edges): Update.
* ipa-inline-analysis.c (evaluate_conditions_for_edge):
Generalize to also handle types.  Rename to ...
(evaluate_properties_for_edge): Use instead of
evaluate_conditions_for_edge.
(estimate_edge_devirt_benefit): New function.
(estimate_calls_size_and_time): Use it.
(estimate_node_size_and_time, estimate_ipcp_clone_size_and_time,)
(inline_merge_summary): Update.
(do_estimate_edge_time, do_estimate_edge_growth): Update.  Calculate
parameter information at the call site and pass it on to subroutines.
* tree-inline.c (estimate_num_insns): Distinguish between direct and
indirect calls.
(init_inline_once): Set size and time costs or indirect calls.
* tree-inline.h (eni_weights): Add indirect_call_cost.

From-SVN: r181377
gcc/ChangeLog
gcc/ipa-cp.c
gcc/ipa-inline-analysis.c
gcc/ipa-inline.h
gcc/ipa-prop.h
gcc/tree-inline.c
gcc/tree-inline.h