aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-prop.h
diff options
context:
space:
mode:
authormkuvyrkov <mkuvyrkov@138bc75d-0d04-0410-961f-82ee72b054a4>2011-11-15 03:46:08 +0000
committermkuvyrkov <mkuvyrkov@138bc75d-0d04-0410-961f-82ee72b054a4>2011-11-15 03:46:08 +0000
commit20da201369da65e2415c4671b9419bcc0b0eb3fa (patch)
tree1efbbc4ccd7ffb98f0069e2281a731e60cdb0fa3 /gcc/ipa-prop.h
parent370d7c073ee1faca205f178d3ee4acab92a00cff (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.h7
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: */