diff options
Diffstat (limited to 'docs/TableGenFundamentals.html')
-rw-r--r-- | docs/TableGenFundamentals.html | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/docs/TableGenFundamentals.html b/docs/TableGenFundamentals.html index 568b5728850f..7ae1ca489e32 100644 --- a/docs/TableGenFundamentals.html +++ b/docs/TableGenFundamentals.html @@ -371,8 +371,8 @@ supported include:</p> <dd>string value</dd> <dt><tt>[{ ... }]</tt></dt> <dd>code fragment</dd> -<dt><tt>[ X, Y, Z ]<type></tt></dt> - <dd>list value. <type> is the type of the list +<dt><tt>[ X, Y, Z ]<type></tt></dt> + <dd>list value. <type> is the type of the list element and is usually optional. In rare cases, TableGen is unable to deduce the element type in which case the user must specify it explicitly.</dd> @@ -398,23 +398,16 @@ which case the user must specify it explicitly.</dd> <dd>a dag value. The first element is required to be a record definition, the remaining elements in the list may be arbitrary other values, including nested `<tt>dag</tt>' values.</dd> -<dt><tt>(implicit a)</tt></dt> - <dd>an implicitly defined physical register. This tells the dag instruction - selection emitter the input pattern's extra definitions matches implicit - physical register definitions.</dd> -<dt><tt>(parallel (a), (b))</tt></dt> - <dd>a list of dags specifying parallel operations which map to the same - instruction.</dd> <dt><tt>!strconcat(a, b)</tt></dt> <dd>A string value that is the result of concatenating the 'a' and 'b' strings.</dd> -<dt><tt>!cast<type>(a)</tt></dt> +<dt><tt>!cast<type>(a)</tt></dt> <dd>A symbol of type <em>type</em> obtained by looking up the string 'a' in the symbol table. If the type of 'a' does not match <em>type</em>, TableGen -aborts with an error. !cast<string> is a special case in that the argument must +aborts with an error. !cast<string> is a special case in that the argument must be an object defined by a 'def' construct.</dd> <dt><tt>!nameconcat<type>(a, b)</tt></dt> - <dd>Shorthand for !cast<type>(!strconcat(a, b))</dd> + <dd>Shorthand for !cast<type>(!strconcat(a, b))</dd> <dt><tt>!subst(a, b, c)</tt></dt> <dd>If 'a' and 'b' are of string type or are symbol references, substitute 'b' for 'a' in 'c.' This operation is analogous to $(subst) in GNU make.</dd> @@ -760,6 +753,25 @@ opened, as in the case with the <tt>CALL*</tt> instructions above.</p> </div> <!-- *********************************************************************** --> +<div class="doc_section"><a name="codegen">Code Generator backend info</a></div> +<!-- *********************************************************************** --> + +<p>Expressions used by code generator to describe instructions and isel +patterns:</p> + +<div class="doc_text"> + +<dt><tt>(implicit a)</tt></dt> + <dd>an implicitly defined physical register. This tells the dag instruction + selection emitter the input pattern's extra definitions matches implicit + physical register definitions.</dd> +<dt><tt>(parallel (a), (b))</tt></dt> + <dd>a list of dags specifying parallel operations which map to the same + instruction.</dd> + +</div> + +<!-- *********************************************************************** --> <div class="doc_section"><a name="backends">TableGen backends</a></div> <!-- *********************************************************************** --> @@ -782,7 +794,7 @@ This should highlight the APIs in <tt>TableGen/Record.h</tt>.</p> <a href="mailto:sabre@nondot.org">Chris Lattner</a><br> <a href="http://llvm.org">LLVM Compiler Infrastructure</a><br> - Last modified: $Date: 2009-06-29 22:05:29 +0200 (Mon, 29 Jun 2009) $ + Last modified: $Date: 2009-10-05 04:51:06 +0200 (Mon, 05 Oct 2009) $ </address> </body> |