md.texi (Standard Names): Update documentation for JUMP_TABLE_DATA changes.
authorSteven Bosscher <steven@gcc.gnu.org>
Sat, 30 Mar 2013 14:54:34 +0000 (14:54 +0000)
committerSteven Bosscher <steven@gcc.gnu.org>
Sat, 30 Mar 2013 14:54:34 +0000 (14:54 +0000)
* doc/md.texi (Standard Names) <casesi>: Update documentation for
JUMP_TABLE_DATA changes.
* doc/tm.texi.in (Dispatch Tables) <ASM_OUTPUT_CASE_LABEL>: Likewise.
* doc/rtl.texi (Flags) <INSN_DELETED_P, SCHED_GROUP_P>: Likewise.
(Insns) <jump_table_data>: New entry.
* doc/tm.texi: Regenerate.

From-SVN: r197267

gcc/ChangeLog
gcc/doc/md.texi
gcc/doc/rtl.texi
gcc/doc/tm.texi
gcc/doc/tm.texi.in

index b4f7111..ab4dd37 100644 (file)
@@ -1,5 +1,12 @@
 2013-03-30  Steven Bosscher  <steven@gcc.gnu.org>
 
+       * doc/md.texi (Standard Names) <casesi>: Update documentation for
+       JUMP_TABLE_DATA changes.
+       * doc/tm.texi.in (Dispatch Tables) <ASM_OUTPUT_CASE_LABEL>: Likewise.
+       * doc/rtl.texi (Flags) <INSN_DELETED_P, SCHED_GROUP_P>: Likewise.
+       (Insns) <jump_table_data>: New entry.
+       * doc/tm.texi: Regenerate.
+
        * cfgrtl.c (fixup_reorder_chain): Do not emit barriers to BB_FOOTER.
 
        * postreload-gcse.c (bb_has_well_behaved_predecessors): Correct test
index 6729eb6..f5dd547 100644 (file)
@@ -5641,7 +5641,7 @@ A label to jump to if the index has a value outside the bounds.
 @end enumerate
 
 The table is an @code{addr_vec} or @code{addr_diff_vec} inside of a
-@code{jump_insn}.  The number of elements in the table is one plus the
+@code{jump_table_data}.  The number of elements in the table is one plus the
 difference between the upper bound and the lower bound.
 
 @cindex @code{tablejump} instruction pattern
index d82c72c..a9890f8 100644 (file)
@@ -623,12 +623,13 @@ printed as @samp{/u}.
 @cindex @code{call_insn} and @samp{/v}
 @cindex @code{jump_insn} and @samp{/v}
 @cindex @code{code_label} and @samp{/v}
+@cindex @code{jump_table_data} and @samp{/v}
 @cindex @code{barrier} and @samp{/v}
 @cindex @code{note} and @samp{/v}
-@cindex @code{volatil}, in @code{insn}, @code{call_insn}, @code{jump_insn}, @code{code_label}, @code{barrier}, and @code{note}
+@cindex @code{volatil}, in @code{insn}, @code{call_insn}, @code{jump_insn}, @code{code_label}, @code{jump_table_data}, @code{barrier}, and @code{note}
 @item INSN_DELETED_P (@var{x})
 In an @code{insn}, @code{call_insn}, @code{jump_insn}, @code{code_label},
-@code{barrier}, or @code{note},
+@code{jump_table_data}, @code{barrier}, or @code{note},
 nonzero if the insn has been deleted.  Stored in the
 @code{volatil} field and printed as @samp{/v}.
 
@@ -782,10 +783,11 @@ Stored in the @code{unchanging} field and printed as @samp{/u}.
 @cindex @code{insn} and @samp{/s}
 @cindex @code{call_insn} and @samp{/s}
 @cindex @code{jump_insn} and @samp{/s}
-@cindex @code{in_struct}, in @code{insn}, @code{jump_insn} and @code{call_insn}
+@cindex @code{jump_table_data} and @samp{/s}
+@cindex @code{in_struct}, in @code{insn}, @code{call_insn}, @code{jump_insn} and @code{jump_table_data}
 @item SCHED_GROUP_P (@var{x})
-During instruction scheduling, in an @code{insn}, @code{call_insn} or
-@code{jump_insn}, indicates that the
+During instruction scheduling, in an @code{insn}, @code{call_insn},
+@code{jump_insn} or @code{jump_table_data}, indicates that the
 previous insn must be scheduled together with this insn.  This is used to
 ensure that certain groups of instructions will not be split up by the
 instruction scheduling pass, for example, @code{use} insns before
@@ -3537,6 +3539,18 @@ them, is the function @code{output_alternate_entry_point}, in
 
 To set the kind of a label, use the @code{SET_LABEL_KIND} macro.
 
+@findex jump_table_data
+@item jump_table_data
+A @code{jump_table_data} insn is a placeholder for the jump-table data
+of a @code{casesi} or @code{tablejump} insn.  They are placed after
+a @code{tablejump_p} insn.  A @code{jump_table_data} insn is not part o
+a basic blockm but it is associated with the basic block that ends with
+the @code{tablejump_p} insn.  The @code{PATTERN} of a @code{jump_table_data}
+is always either an @code{addr_vec} or an @code{addr_diff_vec}, and a
+@code{jump_table_data} insn is always preceded by a @code{code_label}.
+The @code{tablejump_p} insn refers to that @code{code_label} via its
+@code{JUMP_LABEL}.
+
 @findex barrier
 @item barrier
 Barriers are placed in the instruction stream when control cannot flow
index 9f78ae4..6395b4b 100644 (file)
@@ -8798,7 +8798,7 @@ fprintf (@var{stream}, "\t.word L%d\n", @var{value})
 Define this if the label before a jump-table needs to be output
 specially.  The first three arguments are the same as for
 @code{(*targetm.asm_out.internal_label)}; the fourth argument is the
-jump-table which follows (a @code{jump_insn} containing an
+jump-table which follows (a @code{jump_table_data} containing an
 @code{addr_vec} or @code{addr_diff_vec}).
 
 This feature is used on system V to output a @code{swbeg} statement
index b67df84..91a756c 100644 (file)
@@ -8673,7 +8673,7 @@ fprintf (@var{stream}, "\t.word L%d\n", @var{value})
 Define this if the label before a jump-table needs to be output
 specially.  The first three arguments are the same as for
 @code{(*targetm.asm_out.internal_label)}; the fourth argument is the
-jump-table which follows (a @code{jump_insn} containing an
+jump-table which follows (a @code{jump_table_data} containing an
 @code{addr_vec} or @code{addr_diff_vec}).
 
 This feature is used on system V to output a @code{swbeg} statement