diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-29 10:52:16 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-29 10:52:16 +0000 |
commit | 7dfb44a02c99c300d7ae193feeda825148b28993 (patch) | |
tree | a553c86e8031502bd1ab3bdb7e5a7c83ff5e1088 /gcc/basic-block.h | |
parent | 1306a30fca6da9294f3a7750135cb0e6f8cebd3f (diff) | |
download | gcc-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.h | 13 |
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 */ |