summaryrefslogtreecommitdiff
path: root/gcc/tree-inline.h
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim@codesourcery.com>2011-11-15 03:46:08 +0000
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>2011-11-15 03:46:08 +0000
commitd2d668fbbb3625987fa4117e63df38fa745874bd (patch)
tree1efbbc4ccd7ffb98f0069e2281a731e60cdb0fa3 /gcc/tree-inline.h
parente3790e8a9f45bd38f4cf3aa1df6bbf1020b2931c (diff)
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
Diffstat (limited to 'gcc/tree-inline.h')
-rw-r--r--gcc/tree-inline.h3
1 files changed, 3 insertions, 0 deletions
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;