This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATCH to md.texi for documenting standard name "jump"
- To: gcc-patches at gcc dot gnu dot org
- Subject: PATCH to md.texi for documenting standard name "jump"
- From: Hans-Peter Nilsson <hp at bitrange dot com>
- Date: Wed, 15 Mar 2000 20:36:03 -0500 (EST)
This mandatory pattern is missing, which seems just an oversight.
A cursory browse of TFS gives that this pattern is always only used as a
function-local unconditional branch. Except (there's always one...) for
one place, theoretically; when expr.c:expand_expr expands a
GOTO_SUBROUTINE_EXPR.
If a front-end uses that for something like non-local co-routines (not
just when expand_expr expands a TRY_FINALLY_EXPR), things might break.
I plead blissful ignorance. Many ports seem to use an instruction that
would have to be expanded by the assembler or else break if "jump" is not
just used locally with a specific label, i.e. an unconditional branch.
Ok to install?
Thu Mar 16 02:14:16 2000 Hans-Peter Nilsson <hp@bitrange.com>
* md.texi (Standard Names): Document `jump'.
Index: md.texi
===================================================================
RCS file: /cvs/gcc/egcs/gcc/md.texi,v
retrieving revision 1.41
diff -p -c -r1.41 md.texi
*** md.texi 2000/03/03 12:29:42 1.41
--- md.texi 2000/03/16 01:24:40
*************** tested, should also use the above mechan
*** 2304,2309 ****
--- 2359,2370 ----
The above discussion also applies to the @samp{mov@var{mode}cc} and
@samp{s@var{cond}} patterns.
+
+ @cindex @code{jump} instruction pattern
+ @item @samp{jump}
+ A jump inside a function; an unconditional branch. Operand 0 is the
+ @code{label_ref} of the label to jump to. This pattern name is mandatory
+ on all machines.
@cindex @code{call} instruction pattern
@item @samp{call}
brgds, H-P