summaryrefslogtreecommitdiffstats
path: root/llvm/lib/TableGen/TGLexer.h
diff options
context:
space:
mode:
authorNicolai Haehnle <nhaehnle@gmail.com>2018-03-09 12:24:42 +0000
committerNicolai Haehnle <nhaehnle@gmail.com>2018-03-09 12:24:42 +0000
commitfcd6525a4516f0a4d83fd8dcaee25c81ac2c14cd (patch)
tree911a9e9413187f6d3c6c62d0aeba37d78d757f9e /llvm/lib/TableGen/TGLexer.h
parent8aa9d5839dbb4d457616a935eb2167ceb0087dfa (diff)
downloadbcm5719-llvm-fcd6525a4516f0a4d83fd8dcaee25c81ac2c14cd.tar.gz
bcm5719-llvm-fcd6525a4516f0a4d83fd8dcaee25c81ac2c14cd.zip
TableGen: Add a defset statement
Allows capturing a list of concrete instantiated defs. This can be combined with foreach to create parallel sets of def instantiations with less repetition in the source. This purpose is largely also served by multiclasses, but in some cases multiclasses can't be used. The motivating example for this change is having a large set of intrinsics, which are generated from the IntrinsicsBackend.td file included by Intrinsics.td, and a corresponding set of instruction selection patterns, which are generated via the backend's .td files. Multiclasses cannot be used to eliminate the redundancy in this case, because a multiclass cannot span both LLVM's common .td files and the backend .td files at the same time. Change-Id: I879e35042dceea542a5e6776fad23c5e0e69e76b Differential revision: https://reviews.llvm.org/D44109 llvm-svn: 327121
Diffstat (limited to 'llvm/lib/TableGen/TGLexer.h')
-rw-r--r--llvm/lib/TableGen/TGLexer.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/TableGen/TGLexer.h b/llvm/lib/TableGen/TGLexer.h
index bebe3176d7b..c2222472195 100644
--- a/llvm/lib/TableGen/TGLexer.h
+++ b/llvm/lib/TableGen/TGLexer.h
@@ -44,7 +44,7 @@ namespace tgtok {
// Keywords.
Bit, Bits, Class, Code, Dag, Def, Foreach, Defm, Field, In, Int, Let, List,
- MultiClass, String,
+ MultiClass, String, Defset,
// !keywords.
XConcat, XADD, XAND, XOR, XSRA, XSRL, XSHL, XListConcat, XStrConcat, XCast,
OpenPOWER on IntegriCloud