Commit 13c502cd by Mark Mitchell Committed by Mark Mitchell

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
parent 3dcaf6e0
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.
......
......@@ -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))
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment