md.texi (Standard Names): Update documentation for JUMP_TABLE_DATA changes.

* 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
This commit is contained in:
Steven Bosscher 2013-03-30 14:54:34 +00:00
parent 397186076b
commit da5c6bdecf
5 changed files with 29 additions and 8 deletions

View 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

View 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

View 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

View 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

View 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