diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-09-23 17:41:02 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-09-23 17:41:02 +0000 |
commit | 9eb946de570ded41cc9a49b2606cda4d041f0f62 (patch) | |
tree | f0f02b81672861af134a5f088d252ccd973c596f /gcc/doc/rtl.texi | |
parent | 10fba9c02e052ec5274554138a6624e5576a15f2 (diff) | |
download | gcc-9eb946de570ded41cc9a49b2606cda4d041f0f62.tar.gz |
gcc/
* doc/rtl.texi (REG_NOTES): Say that int_list can also be used.
(REG_BR_PROB): Say that the probability is stored in an int_list.
* reg-notes.def: Update commentary to mention INT_LIST.
* rtl.def (EXPR_LIST, INSN_LIST): Capitalize comments.
(INT_LIST): New rtx.
* rtl.h (add_int_reg_note, add_shallow_copy_of_reg_note): Declare.
* rtlanal.c (int_reg_note_p): New function.
(alloc_reg_note): Assert that the note does not have an int argument.
(add_int_reg_note, add_shallow_copy_of_reg_note): New functions.
* combine.c (distribute_notes): Use add_shallow_copy_of_rtx.
* cse.c (cse_process_notes_1): Expect REG_EQUAL to be an EXPR_LIST
rather than an INSN_LIST. Handle INT_LIST.
* ifcvt.c (cond_exec_process_insns): Take the probability as an int
rather than an rtx. Use gen_rtx_INT_LIST to create a REG_BR_PROB note.
(cond_exec_process_if_block): Use XINT to extract REG_BR_PROB values.
Manipulate them as ints rather than rtxes.
* reg-stack.c (subst_asm_stack_regs): Only handle EXPR_LIST notes.
* regmove.c (copy_src_to_dest): Likewise.
* sched-vis.c (print_insn_with_notes): Handle INT_LIST.
* config/i386/winnt.c (i386_pe_seh_unwind_emit): Sink pat assignment
into the cases that need it.
* config/arm/arm.c (arm_unwind_emit): Likewise.
* asan.c (asan_clear_shadow): Use add_int_reg_note for REG_BR_PROB.
* emit-rtl.c (try_split, emit_copy_of_insn_after): Likewise.
* loop-doloop.c (add_test, doloop_modify): Likewise.
* loop-unswitch.c (compare_and_jump_seq): Likewise.
* optabs.c (emit_cmp_and_jump_insn_1): Likewise.
* predict.c (combine_predictions_for_insn): Likewise.
* print-rtl.c (print_rtx): Handle INT_LIST.
* config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): Likewise.
* config/alpha/alpha.c (emit_unlikely_jump): Likewise.
* config/arm/arm.c (emit_unlikely_jump): Likewise.
* config/i386/i386.c (ix86_expand_split_stack_prologue): Likewise.
(ix86_split_fp_branch, predict_jump): Likewise.
* config/rs6000/rs6000.c (emit_unlikely_jump): Likewise.
* config/sh/sh.c (expand_cbranchsi4): Likewise.
* config/spu/spu.c (ea_load_store_inline): Likewise.
* cfgbuild.c (compute_outgoing_frequencies): Use XINT to access the
value of a REG_BR_PROB note.
* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
(update_br_prob_note, rtl_verify_edges, purge_dead_edges): Likewise.
* emit-rtl.c (try_split): Likewise.
* predict.c (br_prob_note_reliable_p): Likewise.
(invert_br_probabilities, combine_predictions_for_insn): Likewise.
* reorg.c (mostly_true_jump): Likewise.
* config/bfin/bfin.c (cbranch_predicted_taken_p): Likewise.
* config/frv/frv.c (frv_print_operand_jump_hint): Likewise.
* config/i386/i386.c (ix86_print_operand): Likewise.
* config/ia64/ia64.c (ia64_print_operand): Likewise.
* config/mmix/mmix.c (mmix_print_operand): Likewise.
* config/rs6000/rs6000.c (output_cbranch): Likewise.
* config/s390/s390.c (s390_expand_tbegin): Likewise.
* config/sh/sh.c (sh_print_operand, sh_adjust_cost): Likewise.
* config/sparc/sparc.c (output_cbranch): Likewise.
* config/spu/spu.c (get_branch_target): Likewise.
* config/tilegx/tilegx.c (cbranch_predicted_p): Likewise.
* config/tilepro/tilepro.c (cbranch_predicted_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202839 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/rtl.texi')
-rw-r--r-- | gcc/doc/rtl.texi | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi index 1d6222382b8..84c0444ad9c 100644 --- a/gcc/doc/rtl.texi +++ b/gcc/doc/rtl.texi @@ -3732,8 +3732,8 @@ Def-use and use-def chains are now preferred. @findex REG_NOTES @item REG_NOTES (@var{i}) -A list (chain of @code{expr_list} and @code{insn_list} expressions) -giving miscellaneous information about the insn. It is often +A list (chain of @code{expr_list}, @code{insn_list} and @code{int_list} +expressions) giving miscellaneous information about the insn. It is often information pertaining to the registers used in this insn. @end table @@ -3752,10 +3752,10 @@ analysis pass adds a link to insns which store into registers values that are used for the first time in this insn. The @code{REG_NOTES} field of an insn is a chain similar to the -@code{LOG_LINKS} field but it includes @code{expr_list} expressions in -addition to @code{insn_list} expressions. There are several kinds of -register notes, which are distinguished by the machine mode, which in a -register note is really understood as being an @code{enum reg_note}. +@code{LOG_LINKS} field but it includes @code{expr_list} and @code{int_list} +expressions in addition to @code{insn_list} expressions. There are several +kinds of register notes, which are distinguished by the machine mode, which +in a register note is really understood as being an @code{enum reg_note}. The first operand @var{op} of the note is data whose meaning depends on the kind of note. @@ -3956,16 +3956,16 @@ This indicates an anti dependence (a write after read dependence). @end table These notes describe information gathered from gcov profile data. They -are stored in the @code{REG_NOTES} field of an insn as an -@code{expr_list}. +are stored in the @code{REG_NOTES} field of an insn. @table @code @findex REG_BR_PROB @item REG_BR_PROB This is used to specify the ratio of branches to non-branches of a -branch insn according to the profile data. The value is stored as a -value between 0 and REG_BR_PROB_BASE; larger values indicate a higher -probability that the branch will be taken. +branch insn according to the profile data. The note is represented +as an @code{int_list} expression whose integer value is between 0 and +REG_BR_PROB_BASE. Larger values indicate a higher probability that +the branch will be taken. @findex REG_BR_PRED @item REG_BR_PRED |