aboutsummaryrefslogtreecommitdiff
path: root/gcc/predict.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2008-08-28 22:12:57 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2008-08-28 20:12:57 +0000
commit3debdc1e9da1742b04771e44bf96e0104f0c3bcb (patch)
tree8c6d11ca056bf4f2369b1efc79b5526d46a6430d /gcc/predict.c
parenteef302d277ea42968569a454ed89ba5c236fe156 (diff)
downloadgcc-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.c20
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. */