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 b4f7111ab23d7c9be09f0cdf8acf5e098783d4a4..ab4dd37e0b5595681c885005d30a6f14bfe03e0f 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 6729eb691fd60d88ca26cc44bd657540c46def39..f5dd5478338e448ef19f4f350165ddbe8e73eea3 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 d82c72c723e04d952aae331f66bd5b1f41008f7e..a9890f88ee75a38b75245f25e4861ee4bd5fe2a4 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 9f78ae4a46aee60e98d73f3fa0a97e7d7d3037eb..6395b4b9e71b981dca079a69d1448a26f8f996b9 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 b67df84041e78a1dc1ec94afadd47999b62452cc..91a756c592e9cf3c31102387791366896969c2ef 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