summaryrefslogtreecommitdiff
path: root/gcc/basic-block.h
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2008-07-29 10:52:16 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2008-07-29 10:52:16 +0000
commit7dfb44a02c99c300d7ae193feeda825148b28993 (patch)
treea553c86e8031502bd1ab3bdb7e5a7c83ff5e1088 /gcc/basic-block.h
parent1306a30fca6da9294f3a7750135cb0e6f8cebd3f (diff)
downloadgcc-7dfb44a02c99c300d7ae193feeda825148b28993.tar.gz
* predict.c (always_optimize_for_size_p): New function.
(optimize_bb_for_size_p, optimize_bb_for_speed_p, optimize_edge_for_size_p, optimize_edge_for_speed_p, optimize_insn_for_size_p, optimize_insn_for_speed_p): New global functions. (rtl_profile_for_bb, rtl_profile_for_edge, rtl_default_profile): New. * function.c (prepare_function_start): Set default profile. * function.h (rtl_data): Add maybe_hot_insn_p. * cfgexpand.c (expand_gimple_basic_block): Set RTL profile. (construct_exit_block): Likewise. (tree_expand_cfg): Likewise. * basic-block.h (optimize_bb_for_size_p, optimize_bb_for_speed_p, optimize_edge_for_size_p, optimize_edge_for_speed_p, optimize_insn_for_size_p, optimize_insn_for_speed_p): Declare. (rtl_profile_for_bb, rtl_profile_for_edge, default_rtl_profile): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138237 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r--gcc/basic-block.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index ff6d0258191..caaf22ef742 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -831,6 +831,12 @@ extern bool maybe_hot_bb_p (const_basic_block);
extern bool maybe_hot_edge_p (edge);
extern bool probably_cold_bb_p (const_basic_block);
extern bool probably_never_executed_bb_p (const_basic_block);
+extern bool optimize_bb_for_size_p (basic_block);
+extern bool optimize_bb_for_speed_p (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 gimple_predicted_by_p (const_basic_block, enum br_predictor);
extern bool rtl_predicted_by_p (const_basic_block, enum br_predictor);
extern void gimple_predict_edge (edge, enum br_predictor, int);
@@ -988,6 +994,11 @@ bb_has_abnormal_pred (basic_block bb)
/* In cfgloopmanip.c. */
extern edge mfb_kj_edge;
-bool mfb_keep_just (edge);
+extern bool mfb_keep_just (edge);
+
+/* In cfgexpand.c. */
+extern void rtl_profile_for_bb (basic_block);
+extern void rtl_profile_for_edge (edge);
+extern void default_rtl_profile (void);
#endif /* GCC_BASIC_BLOCK_H */