forked from OSchip/llvm-project
fix typos; improve a couple of descriptions;
add release note
This commit is contained in:
parent
8453fbf088
commit
66310aafa0
|
@ -69,10 +69,13 @@ Changes to building LLVM
|
||||||
Changes to TableGen
|
Changes to TableGen
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
* The new "TableGen Programmer's Reference" replaces the "TableGen Language
|
||||||
|
Introduction" and "TableGen Language Reference" documents.
|
||||||
|
|
||||||
* The syntax for specifying an integer range in a range list has changed.
|
* The syntax for specifying an integer range in a range list has changed.
|
||||||
The old syntax used a hyphen in the range (e.g., ``{0-9}``). The new syntax
|
The old syntax used a hyphen in the range (e.g., ``{0-9}``). The new syntax
|
||||||
uses the "`...`" range punctuator (e.g., ``{0...9}``). The hyphen syntax
|
uses the "`...`" range punctuation (e.g., ``{0...9}``). The hyphen syntax
|
||||||
is deprecated. The "TableGen Language Reference" document has been updated.
|
is deprecated.
|
||||||
|
|
||||||
Changes to the ARM Backend
|
Changes to the ARM Backend
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
|
@ -140,7 +140,7 @@ the file is printed for review.
|
||||||
|
|
||||||
The following are the basic punctuation tokens::
|
The following are the basic punctuation tokens::
|
||||||
|
|
||||||
- + [ ] { } ( ) < > : ; . = ? #
|
- + [ ] { } ( ) < > : ; . ... = ? #
|
||||||
|
|
||||||
Literals
|
Literals
|
||||||
--------
|
--------
|
||||||
|
@ -328,8 +328,8 @@ to an entity of type ``bits<4>``.
|
||||||
.. warning::
|
.. warning::
|
||||||
The peculiar last form of :token:`RangePiece` is due to the fact that the
|
The peculiar last form of :token:`RangePiece` is due to the fact that the
|
||||||
"``-``" is included in the :token:`TokInteger`, hence ``1-5`` gets lexed as
|
"``-``" is included in the :token:`TokInteger`, hence ``1-5`` gets lexed as
|
||||||
two consecutive tokens, with values ``1`` and ``-5``,
|
two consecutive tokens, with values ``1`` and ``-5``, instead of "1", "-",
|
||||||
instead of "1", "-", and "5".
|
and "5". The use of hyphen as the range punctuation is deprecated.
|
||||||
|
|
||||||
Simple values
|
Simple values
|
||||||
-------------
|
-------------
|
||||||
|
@ -431,7 +431,7 @@ sense after reading the remainder of this guide.
|
||||||
|
|
||||||
* The iteration variable of a ``foreach``, such as the use of ``i`` in::
|
* The iteration variable of a ``foreach``, such as the use of ``i`` in::
|
||||||
|
|
||||||
foreach i = 0..5 in
|
foreach i = 0...5 in
|
||||||
def Foo#i;
|
def Foo#i;
|
||||||
|
|
||||||
.. productionlist::
|
.. productionlist::
|
||||||
|
@ -466,11 +466,11 @@ primary value. Here are the possible suffixes for some primary *value*.
|
||||||
*value*\ ``{17}``
|
*value*\ ``{17}``
|
||||||
The final value is bit 17 of the integer *value* (note the braces).
|
The final value is bit 17 of the integer *value* (note the braces).
|
||||||
|
|
||||||
*value*\ ``{8..15}``
|
*value*\ ``{8...15}``
|
||||||
The final value is bits 8--15 of the integer *value*. The order of the
|
The final value is bits 8--15 of the integer *value*. The order of the
|
||||||
bits can be reversed by specifying ``{15..8}``.
|
bits can be reversed by specifying ``{15...8}``.
|
||||||
|
|
||||||
*value*\ ``[4..7,17,2..3,4]``
|
*value*\ ``[4...7,17,2...3,4]``
|
||||||
The final value is a new list that is a slice of the list *value* (note
|
The final value is a new list that is a slice of the list *value* (note
|
||||||
the brackets). The
|
the brackets). The
|
||||||
new list contains elements 4, 5, 6, 7, 17, 2, 3, and 4. Elements may be
|
new list contains elements 4, 5, 6, 7, 17, 2, 3, and 4. Elements may be
|
||||||
|
@ -827,10 +827,13 @@ template that expands into multiple records.
|
||||||
MultiClassID: `TokIdentifier`
|
MultiClassID: `TokIdentifier`
|
||||||
|
|
||||||
As with regular classes, the multiclass has a name and can accept template
|
As with regular classes, the multiclass has a name and can accept template
|
||||||
arguments. The body of the multiclass contains a series of statements that
|
arguments. A multiclass can inherit from other multiclasses, which causes
|
||||||
define records, using :token:`Def` and :token:`Defm`. In addition,
|
the other multiclasses to be expanded and contribute to the record
|
||||||
:token:`Defvar`, :token:`Foreach`, and :token:`Let`
|
definitions in the inheriting multiclass. The body of the multiclass
|
||||||
statements can be used to factor out even more common elements.
|
contains a series of statements that define records, using :token:`Def` and
|
||||||
|
:token:`Defm`. In addition, :token:`Defvar`, :token:`Foreach`, and
|
||||||
|
:token:`Let` statements can be used to factor out even more common elements.
|
||||||
|
The :token:`If` statement can also be used.
|
||||||
|
|
||||||
Also as with regular classes, the multiclass has the implicit template
|
Also as with regular classes, the multiclass has the implicit template
|
||||||
argument ``NAME`` (see NAME_). When a named (non-anonymous) record is
|
argument ``NAME`` (see NAME_). When a named (non-anonymous) record is
|
||||||
|
@ -1128,8 +1131,8 @@ the next iteration. The following ``defvar`` will not work::
|
||||||
Variables can also be defined with ``defvar`` in a record body. See
|
Variables can also be defined with ``defvar`` in a record body. See
|
||||||
`Defvar in Record Body`_ for more details.
|
`Defvar in Record Body`_ for more details.
|
||||||
|
|
||||||
``foreach`` --- iterate over a sequence
|
``foreach`` --- iterate over a sequence of statements
|
||||||
---------------------------------------
|
-----------------------------------------------------
|
||||||
|
|
||||||
The ``foreach`` statement iterates over a series of statements, varying a
|
The ``foreach`` statement iterates over a series of statements, varying a
|
||||||
variable over a sequence of values.
|
variable over a sequence of values.
|
||||||
|
@ -1529,7 +1532,7 @@ and non-0 as true.
|
||||||
``!shl(``\ *a*\ ``,`` *count*\ ``)``
|
``!shl(``\ *a*\ ``,`` *count*\ ``)``
|
||||||
This operator shifts *a* left logically by *count* bits and produces the resulting
|
This operator shifts *a* left logically by *count* bits and produces the resulting
|
||||||
value. The operation is performed on a 64-bit integer; the result
|
value. The operation is performed on a 64-bit integer; the result
|
||||||
is undefined for shift counts outside 0..63.
|
is undefined for shift counts outside 0...63.
|
||||||
|
|
||||||
``!size(``\ *a*\ ``)``
|
``!size(``\ *a*\ ``)``
|
||||||
This operator produces the number of elements in the list *a*.
|
This operator produces the number of elements in the list *a*.
|
||||||
|
@ -1537,12 +1540,12 @@ and non-0 as true.
|
||||||
``!sra(``\ *a*\ ``,`` *count*\ ``)``
|
``!sra(``\ *a*\ ``,`` *count*\ ``)``
|
||||||
This operator shifts *a* right arithmetically by *count* bits and produces the resulting
|
This operator shifts *a* right arithmetically by *count* bits and produces the resulting
|
||||||
value. The operation is performed on a 64-bit integer; the result
|
value. The operation is performed on a 64-bit integer; the result
|
||||||
is undefined for shift counts outside 0..63.
|
is undefined for shift counts outside 0...63.
|
||||||
|
|
||||||
``!srl(``\ *a*\ ``,`` *count*\ ``)``
|
``!srl(``\ *a*\ ``,`` *count*\ ``)``
|
||||||
This operator shifts *a* right logically by *count* bits and produces the resulting
|
This operator shifts *a* right logically by *count* bits and produces the resulting
|
||||||
value. The operation is performed on a 64-bit integer; the result
|
value. The operation is performed on a 64-bit integer; the result
|
||||||
is undefined for shift counts outside 0..63.
|
is undefined for shift counts outside 0...63.
|
||||||
|
|
||||||
``!strconcat(``\ *str1*\ ``,`` *str2*\ ``, ...)``
|
``!strconcat(``\ *str1*\ ``,`` *str2*\ ``, ...)``
|
||||||
This operator concatenates the string arguments *str1*, *str2*, etc., and
|
This operator concatenates the string arguments *str1*, *str2*, etc., and
|
||||||
|
|
Loading…
Reference in New Issue