This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PATCH to md.texi for documenting standard name "jump"


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]