This is the mail archive of the cgen@sources.redhat.com mailing list for the CGEN project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Another doc patch: it's define-attr, not define-attribute. Other minor gotchas.


I think I got these right, but watch out for the CGEN newbie.  I
thought the mode of (if ...) could be deduced from the context
or the arguments, but apparently it's void, not DFLT, unless
specified otherwise.

Ok to commit?

2002-01-28  Hans-Peter Nilsson  <hp@axis.com>

	* doc/rtl.texi: Fix typo: define-attr, not define-attribute.
	(Enumerated constants): Mention that an ifield must not specify a
	multi-ifield.
	(Instruction operands): Ditto for index.
	(Expressions) <parallel>: Remove misplaced mention of local
	variables.
	<if>: Mention that mode must be specified and non-VOID when the
	result is used.

Index: rtl.texi
===================================================================
RCS file: /cvs/src/src/cgen/doc/rtl.texi,v
retrieving revision 1.14
diff -p -c -r1.14 rtl.texi
*** rtl.texi	2001/11/26 16:41:08	1.14
--- rtl.texi	2002/01/28 19:28:03
*************** To be consistent with Scheme, "-" is pre
*** 205,211 ****
  Boolean attributes are defined with:
  
  @example
! (define-attribute
    (type boolean)
    (for user-list)
    (name attribute-name)
--- 205,211 ----
  Boolean attributes are defined with:
  
  @example
! (define-attr
    (type boolean)
    (for user-list)
    (name attribute-name)
*************** considered users of the attribute.
*** 234,240 ****
  Integer attributes are defined with:
  
  @example
! (define-attribute
    (type integer)
    (for user-list)
    (name attribute-name)
--- 234,240 ----
  Integer attributes are defined with:
  
  @example
! (define-attr
    (type integer)
    (for user-list)
    (name attribute-name)
*************** range of possible values is restricted a
*** 259,265 ****
  Enumerated attributes are defined with
  
  @example
! (define-attribute
    (type enum)
    (for user-list)
    (name attribute-name)
--- 259,265 ----
  Enumerated attributes are defined with
  
  @example
! (define-attr
    (type enum)
    (for user-list)
    (name attribute-name)
*************** currently no rush.)
*** 291,297 ****
  Bitset attributes are defined with:
  
  @example
! (define-attribute
    (type bitset)
    (for user-list)
    (name attribute-name)
--- 291,297 ----
  Bitset attributes are defined with:
  
  @example
! (define-attr
    (type bitset)
    (for user-list)
    (name attribute-name)
*************** Rather than specifying the prefix in eac
*** 1427,1433 ****
  Convention requires @samp{prefix} not contain any lowercase characters.
  
  @subsection ifield
! The name of the instruction field that the enum is intended for.
  
  @subsection values
  A list of possible values.  Each element has one of the following forms:
--- 1427,1434 ----
  Convention requires @samp{prefix} not contain any lowercase characters.
  
  @subsection ifield
! The name of the instruction field that the enum is intended for.  This
! must be a simple ifield, not a multi-ifield.
  
  @subsection values
  A list of possible values.  Each element has one of the following forms:
*************** hardware element.
*** 1539,1545 ****
  The index of the hardware element. This is used to mate the hardware
  element with the instruction field that selects it, and must be the name
  of an ifield entry. (*note: The index may be other things besides
! ifields in the future.)
  
  @subsection asm
  Sometimes it's necessary to escape to C to parse assembler, or print
--- 1540,1546 ----
  The index of the hardware element. This is used to mate the hardware
  element with the instruction field that selects it, and must be the name
  of an ifield entry. (*note: The index may be other things besides
! ifields in the future.)  It must not be a multi-ifield, currently.
  
  @subsection asm
  Sometimes it's necessary to escape to C to parse assembler, or print
*************** mode of the result, which is defined to 
*** 2143,2150 ****
  Execute @samp{expr1}, @samp{expr2}, etc. in parallel. All inputs are
  read before any output is written.  @samp{empty} must be @samp{()} and
  is present for consistency with @samp{sequence}. @samp{mode} must be
! @samp{VOID} (void mode). @samp{((mode1 local1) ...)} is a set of local
! variables.
  
  @item (unop mode operand)
  Perform a unary arithmetic operation. @samp{unop} is one of @code{neg},
--- 2144,2150 ----
  Execute @samp{expr1}, @samp{expr2}, etc. in parallel. All inputs are
  read before any output is written.  @samp{empty} must be @samp{()} and
  is present for consistency with @samp{sequence}. @samp{mode} must be
! @samp{VOID} (void mode).
  
  @item (unop mode operand)
  Perform a unary arithmetic operation. @samp{unop} is one of @code{neg},
*************** Otherwise, the @samp{else} part is execu
*** 2197,2202 ****
--- 2197,2203 ----
  
  @samp{mode} is the mode of the result, not of @samp{condition}.
  If @samp{mode} is not @code{VOID} (void mode), @samp{else} must be present.
+ When the result is used, @samp{mode} must specified, and not be @code{VOID}.
  
  @item (cond mode (condition1 expr1a ...) (...) [(else exprNa...)])
  From Scheme: keep testing conditions until one succeeds, and then

brgds, H-P


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