diff options
author | Jan Hubicka <jh@suse.cz> | 2008-08-28 22:12:57 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2008-08-28 20:12:57 +0000 |
commit | 3debdc1e9da1742b04771e44bf96e0104f0c3bcb (patch) | |
tree | 8c6d11ca056bf4f2369b1efc79b5526d46a6430d /gcc/predict.c | |
parent | eef302d277ea42968569a454ed89ba5c236fe156 (diff) | |
download | gcc-3debdc1e9da1742b04771e44bf96e0104f0c3bcb.zip gcc-3debdc1e9da1742b04771e44bf96e0104f0c3bcb.tar.gz gcc-3debdc1e9da1742b04771e44bf96e0104f0c3bcb.tar.bz2 |
expmed.c (store_bit_field_1): Be prepared for movstrict expander to fail.
* expmed.c (store_bit_field_1): Be prepared for movstrict expander to fail.
* predict.c (always_optimize_for_size_p): Rename to ...
(optimize_function_for_size): ... this one; make extern.
(optimize_function_for_speed_p): New.
(optimize_bb_for_size_p, optimize_bb_for_size_p,
optimize_edge_for_size_p,optimize_edge_for_size_p,
optimize_insn_for_size_p, optimize_insn_for_size_p): Update.
* basic-block.h (optimize_function_for_size_p,
optimize_function_for_speed_p): Declare.
* i386.md (optimize_size checks): Replace them by appropriate predicate.
(standard_80387_constant_p, ix86_compute_frame_layout,
ix86_expand_epilogue, ix86_decompose_address,
print_operand, emit_i387_cw_initialization,
inline_memory_move_cost, ix86_pad_returns,
ix86_reorg): Replace optimize_size checks.
From-SVN: r139737
Diffstat (limited to 'gcc/predict.c')
-rw-r--r-- | gcc/predict.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/gcc/predict.c b/gcc/predict.c index e90b95c..69ebe6b 100644 --- a/gcc/predict.c +++ b/gcc/predict.c @@ -182,11 +182,19 @@ probably_never_executed_bb_p (const_basic_block bb) /* Return true when current function should always be optimized for size. */ -static bool -always_optimize_for_size_p (void) +bool +optimize_function_for_size_p (struct function *fun) { return (optimize_size - || cfun->function_frequency == FUNCTION_FREQUENCY_UNLIKELY_EXECUTED); + || fun->function_frequency == FUNCTION_FREQUENCY_UNLIKELY_EXECUTED); +} + +/* Return true when current function should always be optimized for speed. */ + +bool +optimize_function_for_speed_p (struct function *fun) +{ + return !optimize_function_for_size_p (fun); } /* Return TRUE when BB should be optimized for size. */ @@ -194,7 +202,7 @@ always_optimize_for_size_p (void) bool optimize_bb_for_size_p (basic_block bb) { - return always_optimize_for_size_p () || !maybe_hot_bb_p (bb); + return optimize_function_for_size_p (cfun) || !maybe_hot_bb_p (bb); } /* Return TRUE when BB should be optimized for speed. */ @@ -210,7 +218,7 @@ optimize_bb_for_speed_p (basic_block bb) bool optimize_edge_for_size_p (edge e) { - return always_optimize_for_size_p () || !maybe_hot_edge_p (e); + return optimize_function_for_size_p (cfun) || !maybe_hot_edge_p (e); } /* Return TRUE when BB should be optimized for speed. */ @@ -226,7 +234,7 @@ optimize_edge_for_speed_p (edge e) bool optimize_insn_for_size_p (void) { - return always_optimize_for_size_p () || !crtl->maybe_hot_insn_p; + return optimize_function_for_size_p (cfun) || !crtl->maybe_hot_insn_p; } /* Return TRUE when BB should be optimized for speed. */ |