rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.

* rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
	* loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.

From-SVN: r41424
This commit is contained in:
Mark Mitchell 2001-04-19 19:44:43 +00:00 committed by Mark Mitchell
parent 3dcaf6e0d1
commit 13c502cdd5
3 changed files with 17 additions and 10 deletions

View File

@ -1,5 +1,8 @@
2001-04-19 Mark Mitchell <mark@codesourcery.com>
* rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
* loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
* mips.md (reload_outputdi): Require that operand0 be a
general_operand.

View File

@ -8850,10 +8850,13 @@ load_mems (loop)
/* If this is a jump outside of the loop but not right
after the end of the loop, we would have to emit new fixup
sequences for each such label. */
if (JUMP_LABEL (p) != end_label
&& (INSN_UID (JUMP_LABEL (p)) >= max_uid_for_loop
|| INSN_LUID (JUMP_LABEL (p)) < INSN_LUID (loop->start)
|| INSN_LUID (JUMP_LABEL (p)) > INSN_LUID (loop->end)))
if (/* If we can't tell where control might go when this
JUMP_INSN is executed, we must be conservative. */
!JUMP_LABEL (p)
|| (JUMP_LABEL (p) != end_label
&& (INSN_UID (JUMP_LABEL (p)) >= max_uid_for_loop
|| INSN_LUID (JUMP_LABEL (p)) < INSN_LUID (loop->start)
|| INSN_LUID (JUMP_LABEL (p)) > INSN_LUID (loop->end))))
return;
if (!any_condjump_p (p))

View File

@ -2501,14 +2501,15 @@ recorded as a @code{jump_insn}.
accessed in the same way and in addition contain a field
@code{JUMP_LABEL} which is defined once jump optimization has completed.
For simple conditional and unconditional jumps, this field contains the
@code{code_label} to which this insn will (possibly conditionally)
For simple conditional and unconditional jumps, this field contains
the @code{code_label} to which this insn will (possibly conditionally)
branch. In a more complex jump, @code{JUMP_LABEL} records one of the
labels that the insn refers to; the only way to find the others
is to scan the entire body of the insn.
labels that the insn refers to; the only way to find the others is to
scan the entire body of the insn. In an @code{addr_vec},
@code{JUMP_LABEL} is @code{NULL_RTX}.
Return insns count as jumps, but since they do not refer to any labels,
they have zero in the @code{JUMP_LABEL} field.
Return insns count as jumps, but since they do not refer to any
labels, their @code{JUMP_LABEL} is @code{NULL_RTX}.
@findex call_insn
@item call_insn