diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-05-22 21:28:20 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-05-22 21:28:20 +0000 |
commit | b79a25b124376262b5df89686bf0c374ada0e977 (patch) | |
tree | 1054aaa6769bca5cfbdb7b465a198c6384c719a1 /llvm/lib/TableGen/TGParser.h | |
parent | 5498486b46658d7c55bba7fcfc4257629baa3285 (diff) | |
download | bcm5719-llvm-b79a25b124376262b5df89686bf0c374ada0e977.tar.gz bcm5719-llvm-b79a25b124376262b5df89686bf0c374ada0e977.zip |
TableGen: Handle nontrivial foreach range bounds
This allows using anything that isn't a literal integer as the bounds
for a foreach. Some of the diagnostics aren't perfect, but nobody ever
accused tablegen of having good errors. For example, the existing
wording suggests a bitrange is valid, but as far as I can tell this
has never worked.
Fixes bug 41958.
llvm-svn: 361434
Diffstat (limited to 'llvm/lib/TableGen/TGParser.h')
-rw-r--r-- | llvm/lib/TableGen/TGParser.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/TableGen/TGParser.h b/llvm/lib/TableGen/TGParser.h index 38b782461bd..af2b639f8d5 100644 --- a/llvm/lib/TableGen/TGParser.h +++ b/llvm/lib/TableGen/TGParser.h @@ -190,7 +190,8 @@ private: // Parser methods. bool ParseOptionalRangeList(SmallVectorImpl<unsigned> &Ranges); bool ParseOptionalBitList(SmallVectorImpl<unsigned> &Ranges); void ParseRangeList(SmallVectorImpl<unsigned> &Result); - bool ParseRangePiece(SmallVectorImpl<unsigned> &Ranges); + bool ParseRangePiece(SmallVectorImpl<unsigned> &Ranges, + TypedInit *FirstItem = nullptr); RecTy *ParseType(); Init *ParseOperation(Record *CurRec, RecTy *ItemType); Init *ParseOperationCond(Record *CurRec, RecTy *ItemType); |