diff options
author | Roman Lebedev <lebedev.ri@gmail.com> | 2019-04-10 18:26:36 +0000 |
---|---|---|
committer | Roman Lebedev <lebedev.ri@gmail.com> | 2019-04-10 18:26:36 +0000 |
commit | 5d9f656bb75ed4d0b9eb628115edd785fc61473b (patch) | |
tree | 93e4700dbe04370215abb1b899597bb1b7e97b83 /llvm/lib/TableGen/TGLexer.cpp | |
parent | 163157378ee8ff2975cec933ab9ae31761b6ffff (diff) | |
download | bcm5719-llvm-5d9f656bb75ed4d0b9eb628115edd785fc61473b.tar.gz bcm5719-llvm-5d9f656bb75ed4d0b9eb628115edd785fc61473b.zip |
[TableGen] Introduce !listsplat 'binary' operator
Summary:
```
``!listsplat(a, size)``
A list value that contains the value ``a`` ``size`` times.
Example: ``!listsplat(0, 2)`` results in ``[0, 0]``.
```
I plan to use this in X86ScheduleBdVer2.td for LoadRes handling.
This is a little bit controversial because unlike every other binary operator
the types aren't identical.
Reviewers: stoklund, javed.absar, nhaehnle, craig.topper
Reviewed By: javed.absar
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D60367
llvm-svn: 358117
Diffstat (limited to 'llvm/lib/TableGen/TGLexer.cpp')
-rw-r--r-- | llvm/lib/TableGen/TGLexer.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/TableGen/TGLexer.cpp b/llvm/lib/TableGen/TGLexer.cpp index 9ffcc7ae5c7..b9420253b2b 100644 --- a/llvm/lib/TableGen/TGLexer.cpp +++ b/llvm/lib/TableGen/TGLexer.cpp @@ -564,6 +564,7 @@ tgtok::TokKind TGLexer::LexExclaim() { .Case("foldl", tgtok::XFoldl) .Case("foreach", tgtok::XForEach) .Case("listconcat", tgtok::XListConcat) + .Case("listsplat", tgtok::XListSplat) .Case("strconcat", tgtok::XStrConcat) .Default(tgtok::Error); |