diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-08-30 14:19:01 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-08-30 14:19:01 +0000 |
commit | 4a9d7ef7b86df2903330f57af9e3813c57d750e9 (patch) | |
tree | 4339e3edb706d886f8df2cbbc9a8fe530f969a60 /gcc/doc/tm.texi | |
parent | 1cf539a295d9d25f380ac308e00d196410534da7 (diff) | |
download | gcc-4a9d7ef7b86df2903330f57af9e3813c57d750e9.tar.gz |
* optabs.c (expand_abs_nojump): Update BRANCH_COST call.
* fold-cost.c (LOGICAL_OP_NON_SHORT_CIRCUIT, fold_truthop): Likewise.
* dojump.c (do_jump): Likewise.
* ifcvt.c (MAX_CONDITIONAL_EXECUTE): Likewise.
(note-if_info): Add BRANCH_COST.
(noce_try_store_flag_constants, noce_try_addcc, noce_try_store_flag_mask,
noce_try_cmove_arith, noce_try_cmove_arith, noce_try_cmove_arith,
noce_find_if_block, find_if_case_1, find_if_case_2): Use compuated
branch cost.
* expr.h (BRANCH_COST): Update default.
* predict.c (predictable_edge_p): New function.
* expmed.c (expand_smod_pow2, expand_sdiv_pow2, emit_store_flag):
Update BRANCH_COST call.
* basic-block.h (predictable_edge_p): Declare.
* config/alpha/alpha.h (BRANCH_COST): Update.
* config/frv/frv.h (BRANCH_COST): Update.
* config/s390/s390.h (BRANCH_COST): Update.
* config/spu/spu.h (BRANCH_COST): Update.
* config/sparc/sparc.h (BRANCH_COST): Update.
* config/m32r/m32r.h (BRANCH_COST): Update.
* config/i386/i386.h (BRANCH_COST): Update.
* config/i386/i386.c (ix86_expand_int_movcc): Update use of BRANCH_COST.
* config/sh/sh.h (BRANCH_COST): Update.
* config/pdp11/pdp11.h (BRANCH_COST): Update.
* config/avr/avr.h (BRANCH_COST): Update.
* config/crx/crx.h (BRANCH_COST): Update.
* config/xtensa/xtensa.h (BRANCH_COST): Update.
* config/stormy16/stormy16.h (BRANCH_COST): Update.
* config/m68hc11/m68hc11.h (BRANCH_COST): Update.
* config/iq2000/iq2000.h (BRANCH_COST): Update.
* config/ia64/ia64.h (BRANCH_COST): Update.
* config/rs6000/rs6000.h (BRANCH_COST): Update.
* config/arc/arc.h (BRANCH_COST): Update.
* config/score/score.h (BRANCH_COST): Update.
* config/arm/arm.h (BRANCH_COST): Update.
* config/pa/pa.h (BRANCH_COST): Update.
* config/mips/mips.h (BRANCH_COST): Update.
* config/vax/vax.h (BRANCH_COST): Update.
* config/h8300/h8300.h (BRANCH_COST): Update.
* params.def (PARAM_PREDICTABLE_BRANCH_OUTCOME): New.
* doc/invoke.texi (predictable-branch-cost-outcome): Document.
* doc/tm.texi (BRANCH_COST): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139804 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/tm.texi')
-rw-r--r-- | gcc/doc/tm.texi | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 3087694a9cd..2cd0877601d 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -5874,9 +5874,14 @@ value to the result of that function. The arguments to that function are the same as to this macro. @end defmac -@defmac BRANCH_COST -A C expression for the cost of a branch instruction. A value of 1 is -the default; other values are interpreted relative to that. +@defmac BRANCH_COST (@var{speed_p}, @var{predictable_p}) +A C expression for the cost of a branch instruction. A value of 1 is the +default; other values are interpreted relative to that. Parameter @var{speed_p} +is true when the branch in question should be optimized for speed. When +it is false, @code{BRANCH_COST} should be returning value optimal for code size +rather then performance considerations. @var{predictable_p} is true for well +predictable branches. On many architectures the @code{BRANCH_COST} can be +reduced then. @end defmac Here are additional macros which do not specify precise relative costs, |