diff options
author | mkuvyrkov <mkuvyrkov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-11-15 03:46:08 +0000 |
---|---|---|
committer | mkuvyrkov <mkuvyrkov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-11-15 03:46:08 +0000 |
commit | 20da201369da65e2415c4671b9419bcc0b0eb3fa (patch) | |
tree | 1efbbc4ccd7ffb98f0069e2281a731e60cdb0fa3 /gcc/ipa-prop.h | |
parent | 370d7c073ee1faca205f178d3ee4acab92a00cff (diff) |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181377 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-prop.h')
-rw-r--r-- | gcc/ipa-prop.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/ipa-prop.h b/gcc/ipa-prop.h index 58caa92c305..1a609a5b5b7 100644 --- a/gcc/ipa-prop.h +++ b/gcc/ipa-prop.h @@ -346,6 +346,9 @@ bool ipa_propagate_indirect_call_infos (struct cgraph_edge *cs, VEC (cgraph_edge_p, heap) **new_edges); /* Indirect edge and binfo processing. */ +tree ipa_get_indirect_edge_target (struct cgraph_edge *ie, + VEC (tree, heap) *known_csts, + VEC (tree, heap) *known_binfs); struct cgraph_edge *ipa_make_edge_direct_to_target (struct cgraph_edge *, tree); /* Functions related to both. */ @@ -437,8 +440,8 @@ void ipa_prop_write_jump_functions (cgraph_node_set set); void ipa_prop_read_jump_functions (void); void ipa_update_after_lto_read (void); int ipa_get_param_decl_index (struct ipa_node_params *, tree); -tree ipa_cst_from_jfunc (struct ipa_node_params *info, - struct ipa_jump_func *jfunc); +tree ipa_value_from_jfunc (struct ipa_node_params *info, + struct ipa_jump_func *jfunc); /* From tree-sra.c: */ |