produce an error on invalid input instead of asserting:
def : Pat<((v2f64 (vector_shuffle immAllZerosV_bc,
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49462 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/TGParser.cpp b/utils/TableGen/TGParser.cpp
index 65b6b81..68a1cba 100644
--- a/utils/TableGen/TGParser.cpp
+++ b/utils/TableGen/TGParser.cpp
@@ -616,6 +616,11 @@
}
case tgtok::l_paren: { // Value ::= '(' IDValue DagArgList ')'
Lex.Lex(); // eat the '('
+ if (Lex.getCode() != tgtok::Id) {
+ TokError("expected identifier in dag init");
+ return 0;
+ }
+
Init *Operator = ParseIDValue(CurRec);
if (Operator == 0) return 0;