diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2014-10-22 14:26:56 +0000 |
---|---|---|
committer | Andrew Macleod <amacleod@gcc.gnu.org> | 2014-10-22 14:26:56 +0000 |
commit | 893479def2f2b98d16e7311fe3bfff58ed003467 (patch) | |
tree | 9d61392a70f0091f38c55c6d45211065e1032b6c /gcc/predict.h | |
parent | 4a7fca26b4c148457bef6da0975f1122aa106271 (diff) | |
download | gcc-893479def2f2b98d16e7311fe3bfff58ed003467.zip gcc-893479def2f2b98d16e7311fe3bfff58ed003467.tar.gz gcc-893479def2f2b98d16e7311fe3bfff58ed003467.tar.bz2 |
cfgbuild.h: New.
2014-10-22 Andrew MacLeod <amacleod@redhat.com>
* cfgbuild.h: New. Add prototypes for cfgbuild.c.
* cfgcleanup.h: New. Add prototypes for cfgcleanup.c.
* cfgloopmanip.h: New. Add prototypes for cfgloopmanip.c.
* dominance.h: New. Add prototypes for dominance.c.
* cfgloop.h: Move some prototypes/enum to cfgloopmanip.h and include it.
* cfghooks.h: (struct profile_record) Relocate here.
Relocate 2 prototypes from basic-block.h.
* basic-block.h: Move prototypes and struct to new header files.
Include cfgbuild.h, cfgcleanup.h, and dominance.h.
* rtl.h: Move a few prototypes to new header files.
* cfgcleanup.c (merge_memattrs): Make static.
* genopinit.c (main): Add predict.h to list of includes.
* predict.h: Update prototype list to match predict.c.
* predict.c (maybe_hot_count_p): Export.
(cgraph_edge::maybe_hot_p): Move to cgraph.c.
(cgraph_node::optimize_for_size_p): Move to cgraph.h.
* cgraph.h (cgraph_node::optimize_for_size_p): Relocate here.
* cgraph.c (cgraph_edge::maybe_hot_p): Relocate here.
* profile.h: Adjust prototypes.
* ifcvt.h: New. Relocate struct ce_if_block here.
* ifcvt.c: Include ifcvt.h.
* config/frv/frv.c: Include ifcvt.h.
* config/frv/frv-protos.h: Add 'struct' to ce_if_block * parameters.
From-SVN: r216559
Diffstat (limited to 'gcc/predict.h')
-rw-r--r-- | gcc/predict.h | 45 |
1 files changed, 38 insertions, 7 deletions
diff --git a/gcc/predict.h b/gcc/predict.h index 20b4958..61a5d1c 100644 --- a/gcc/predict.h +++ b/gcc/predict.h @@ -45,17 +45,48 @@ enum prediction TAKEN }; +extern gcov_type get_hot_bb_threshold (void); +extern void set_hot_bb_threshold (gcov_type); +extern bool maybe_hot_count_p (struct function *, gcov_type); +extern bool maybe_hot_bb_p (struct function *, const_basic_block); +extern bool maybe_hot_edge_p (edge); +extern bool probably_never_executed_bb_p (struct function *, const_basic_block); +extern bool probably_never_executed_edge_p (struct function *, edge); +extern bool optimize_function_for_size_p (struct function *); +extern bool optimize_function_for_speed_p (struct function *); +extern bool optimize_bb_for_size_p (const_basic_block); +extern bool optimize_bb_for_speed_p (const_basic_block); +extern bool optimize_edge_for_size_p (edge); +extern bool optimize_edge_for_speed_p (edge); +extern bool optimize_insn_for_size_p (void); +extern bool optimize_insn_for_speed_p (void); +extern bool optimize_loop_for_size_p (struct loop *); +extern bool optimize_loop_for_speed_p (struct loop *); +extern bool optimize_loop_nest_for_speed_p (struct loop *); +extern bool optimize_loop_nest_for_size_p (struct loop *); +extern bool predictable_edge_p (edge); +extern void rtl_profile_for_bb (basic_block); +extern void rtl_profile_for_edge (edge); +extern void default_rtl_profile (void); +extern bool rtl_predicted_by_p (const_basic_block, enum br_predictor); +extern bool gimple_predicted_by_p (const_basic_block, enum br_predictor); +extern bool edge_probability_reliable_p (const_edge); +extern bool br_prob_note_reliable_p (const_rtx); extern void predict_insn_def (rtx_insn *, enum br_predictor, enum prediction); -extern int counts_to_freqs (void); +extern void rtl_predict_edge (edge, enum br_predictor, int); +extern void gimple_predict_edge (edge, enum br_predictor, int); +extern void remove_predictions_associated_with_edge (edge); +extern void predict_edge_def (edge, enum br_predictor, enum prediction); +extern void invert_br_probabilities (rtx); +extern void guess_outgoing_edge_probabilities (basic_block); +extern void tree_estimate_probability (void); extern void handle_missing_profiles (void); +extern int counts_to_freqs (void); +extern bool expensive_function_p (int); extern void estimate_bb_frequencies (bool); -extern const char *predictor_name (enum br_predictor); -extern tree build_predict_expr (enum br_predictor, enum prediction); -extern void tree_estimate_probability (void); extern void compute_function_frequency (void); +extern tree build_predict_expr (enum br_predictor, enum prediction); +extern const char *predictor_name (enum br_predictor); extern void rebuild_frequencies (void); -extern bool optimize_function_for_size_p (struct function *); -extern bool optimize_function_for_speed_p (struct function *); - #endif /* GCC_PREDICT_H */ |