diff options
author | David Greene <greened@obbligato.org> | 2011-10-07 18:25:05 +0000 |
---|---|---|
committer | David Greene <greened@obbligato.org> | 2011-10-07 18:25:05 +0000 |
commit | a1b1b79be15c4b79a4282f148085ebad1cf877ca (patch) | |
tree | ebcc9a679f17963bd672a734ffd0fce3d66f290c /docs/TableGenFundamentals.html | |
parent | 67370ef9030990baceb42181f2db57b7b8d33ca9 (diff) |
Remove Multidefs
Multidefs are a bit unwieldy and incomplete. Remove them in favor of
another mechanism, probably for loops.
Revert "Make Test More Thorough"
Revert "Fix a typo."
Revert "Vim Support for Multidefs"
Revert "Emacs Support for Multidefs"
Revert "Document Multidefs"
Revert "Add a Multidef Test"
Revert "Update Test for Multidefs"
Revert "Process Multidefs"
Revert "Parser Multidef Support"
Revert "Lexer Support for Multidefs"
Revert "Add Multidef Data Structures"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141378 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/TableGenFundamentals.html')
-rw-r--r-- | docs/TableGenFundamentals.html | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/docs/TableGenFundamentals.html b/docs/TableGenFundamentals.html index f5b7e4ab57..e8fca32513 100644 --- a/docs/TableGenFundamentals.html +++ b/docs/TableGenFundamentals.html @@ -769,65 +769,6 @@ before them. </pre> </div> -<p> -A special "multidef" may be used inside a multiclass to generate -several defs given a list of values. -</p> - -<div class="doc_code"> -<pre> -<b>class</b> Base<int i> { - int value = i; -} - -<b>multiclass</b> Multi<list<int> values> { - <b>def</b> ONE : Base<values[0]>; - <b>def</b> TWO : Base<values[1]>; - - <b>multidef</b> COUNT<values, int v, 2> : Base<v>; -} - -<b>defm</b> List : Multi<[1, 2, 3, 4, 5, 6]<; -... - -<i>// Results</i> -<b>def</b> ListCOUNT { - int v = ?; - int value = v; - list<int> Multi::values = [1, 2, 3, 4, 5, 6]; -} -<b>def</b> ListONE { - int value = 1; -} -<b>def</b> ListTWO { - int value = 2; -} -<b>def</b> MD2.ListCOUNT { - int value = 3; -} -<b>def</b> MD3.ListCOUNT { - int value = 4; -} -<b>def</b> MD4.ListCOUNT { - int value = 5; -} -<b>def</b> MD5.ListCOUNT { - int value = 6; -} -</pre> -</div> - -<p> -A multidef takes three "arguments" in the <> notation after the multidef -name. The first is a list of items to process. The second is a declaration. -This declaration creates a temporary name used as an iterator. It picks up the -value of each processed list item as TableGen generates defs from the multidef. -This temporary may be named and passed into the multidef body as shown in the -example above. This provides a powerful way to generate defs with various -values from a single multidef. The final "argument" is an integer value -indicating where in the list to begin processing. In the above example we -chose to begin list processing with the third item (index 2). -</p> </div> </div> |