[Mlir-commits] [mlir] [mlir][vector] Emit error when `kind` attribute is not a CombiningKind (PR #173659)
Longsheng Mou
llvmlistbot at llvm.org
Tue Dec 30 08:44:07 PST 2025
================
@@ -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:
But I find the linalg.elementwise also put it in parser:
https://github.com/llvm/llvm-project/blob/7c0420dc8484a0cbad32c085b94ab250d89b0ce4/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp#L4792-L4808
https://github.com/llvm/llvm-project/pull/173659
More information about the Mlir-commits
mailing list