summaryrefslogtreecommitdiffstats
path: root/llvm/lib/TableGen/TGParser.h
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2019-05-22 21:28:20 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2019-05-22 21:28:20 +0000
commitb79a25b124376262b5df89686bf0c374ada0e977 (patch)
tree1054aaa6769bca5cfbdb7b465a198c6384c719a1 /llvm/lib/TableGen/TGParser.h
parent5498486b46658d7c55bba7fcfc4257629baa3285 (diff)
downloadbcm5719-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.h3
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);
OpenPOWER on IntegriCloud