[Mlir-commits] [mlir] [mlir][vector] Emit error when `kind` attribute is not a CombiningKind (PR #173659)
Longsheng Mou
llvmlistbot at llvm.org
Sun Jan 4 17:23:25 PST 2026
================
@@ -874,12 +874,20 @@ ParseResult ContractionOp::parse(OpAsmParser &parser, OperationState &result) {
result.attributes.set(getIteratorTypesAttrName(result.name),
parser.getBuilder().getArrayAttr(iteratorTypeAttrs));
- if (!result.attributes.get(getKindAttrName(result.name))) {
+ StringAttr kindAttrName = getKindAttrName(result.name);
+ auto kindAttr = result.attributes.get(kindAttrName);
+ if (!kindAttr) {
result.addAttribute(
- getKindAttrName(result.name),
- CombiningKindAttr::get(result.getContext(),
- ContractionOp::getDefaultKind()));
+ kindAttrName, CombiningKindAttr::get(result.getContext(),
+ ContractionOp::getDefaultKind()));
+ } else {
+ if (!isa<CombiningKindAttr>(kindAttr)) {
+ return parser.emitError(parser.getNameLoc())
+ << "expected " << kindAttrName
+ << " attribute of type CombiningKind(e.g. 'vector.kind<add>')";
+ }
----------------
CoTinker wrote:
https://discourse.llvm.org/t/mlir-best-practice-for-attribute-type-verification-parser-vs-verify/89358
https://github.com/llvm/llvm-project/pull/173659
More information about the Mlir-commits
mailing list