diff options
Diffstat (limited to 'mlir/lib/TableGen/Pattern.cpp')
| -rw-r--r-- | mlir/lib/TableGen/Pattern.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mlir/lib/TableGen/Pattern.cpp b/mlir/lib/TableGen/Pattern.cpp index 2986f30dee6..ddec0bacac4 100644 --- a/mlir/lib/TableGen/Pattern.cpp +++ b/mlir/lib/TableGen/Pattern.cpp @@ -480,8 +480,14 @@ std::vector<tblgen::AppliedConstraint> tblgen::Pattern::getConstraints() const { std::vector<std::string> entities; entities.reserve(dagInit->arg_size()); - for (auto *argName : dagInit->getArgNames()) + for (auto *argName : dagInit->getArgNames()) { + if (!argName) { + PrintFatalError( + def.getLoc(), + "operands to additional constraints can only be symbol references"); + } entities.push_back(argName->getValue()); + } ret.emplace_back(cast<llvm::DefInit>(dagInit->getOperator())->getDef(), dagInit->getNameStr(), std::move(entities)); |

