From: Jeff Niu Date: Tue, 25 Oct 2022 16:28:53 +0000 (-0700) Subject: [mlir] Add `parseSymbolName` that doesn't take an attribute list X-Git-Tag: upstream/17.0.6~29299 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c0095050dacff8a7b0e9066cfd1c37c684bc4fa3;p=platform%2Fupstream%2Fllvm.git [mlir] Add `parseSymbolName` that doesn't take an attribute list This patch adds a version of `parseSymbolName` and `parseOptionalSymbolName` to AsmParser that don't take an attribute name and attribute list. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D136696 --- diff --git a/mlir/include/mlir/IR/OpImplementation.h b/mlir/include/mlir/IR/OpImplementation.h index 524c72d..0c74af3 100644 --- a/mlir/include/mlir/IR/OpImplementation.h +++ b/mlir/include/mlir/IR/OpImplementation.h @@ -1010,20 +1010,38 @@ public: //===--------------------------------------------------------------------===// /// Parse an @-identifier and store it (without the '@' symbol) in a string + /// attribute. + ParseResult parseSymbolName(StringAttr &result) { + if (failed(parseOptionalSymbolName(result))) + return emitError(getCurrentLocation()) + << "expected valid '@'-identifier for symbol name"; + return success(); + } + + /// Parse an @-identifier and store it (without the '@' symbol) in a string /// attribute named 'attrName'. ParseResult parseSymbolName(StringAttr &result, StringRef attrName, NamedAttrList &attrs) { - if (failed(parseOptionalSymbolName(result, attrName, attrs))) - return emitError(getCurrentLocation()) - << "expected valid '@'-identifier for symbol name"; + if (parseSymbolName(result)) + return failure(); + attrs.append(attrName, result); return success(); } /// Parse an optional @-identifier and store it (without the '@' symbol) in a + /// string attribute. + virtual ParseResult parseOptionalSymbolName(StringAttr &result) = 0; + + /// Parse an optional @-identifier and store it (without the '@' symbol) in a /// string attribute named 'attrName'. - virtual ParseResult parseOptionalSymbolName(StringAttr &result, - StringRef attrName, - NamedAttrList &attrs) = 0; + ParseResult parseOptionalSymbolName(StringAttr &result, StringRef attrName, + NamedAttrList &attrs) { + if (succeeded(parseOptionalSymbolName(result))) { + attrs.append(attrName, result); + return success(); + } + return failure(); + } //===--------------------------------------------------------------------===// // Resource Parsing diff --git a/mlir/lib/AsmParser/AsmParserImpl.h b/mlir/lib/AsmParser/AsmParserImpl.h index bb0fe5c..d7e8a55 100644 --- a/mlir/lib/AsmParser/AsmParserImpl.h +++ b/mlir/lib/AsmParser/AsmParserImpl.h @@ -439,14 +439,12 @@ public: /// Parse an optional @-identifier and store it (without the '@' symbol) in a /// string attribute named 'attrName'. - ParseResult parseOptionalSymbolName(StringAttr &result, StringRef attrName, - NamedAttrList &attrs) override { + ParseResult parseOptionalSymbolName(StringAttr &result) override { Token atToken = parser.getToken(); if (atToken.isNot(Token::at_identifier)) return failure(); result = getBuilder().getStringAttr(atToken.getSymbolReference()); - attrs.push_back(getBuilder().getNamedAttr(attrName, result)); parser.consumeToken(); // If we are populating the assembly parser state, record this as a symbol