From d2d668fbbb3625987fa4117e63df38fa745874bd Mon Sep 17 00:00:00 2001 From: Maxim Kuvyrkov Date: Tue, 15 Nov 2011 03:46:08 +0000 Subject: 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/tree-inline.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gcc/tree-inline.h') diff --git a/gcc/tree-inline.h b/gcc/tree-inline.h index 2aac5f8b9d3..ba0b2c46995 100644 --- a/gcc/tree-inline.h +++ b/gcc/tree-inline.h @@ -135,6 +135,9 @@ typedef struct eni_weights_d /* Cost per call. */ unsigned call_cost; + /* Cost per indirect call. */ + unsigned indirect_call_cost; + /* Cost per call to a target specific builtin */ unsigned target_builtin_call_cost; -- cgit v1.2.1