diff --git a/mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td b/mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td --- a/mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td +++ b/mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td @@ -565,6 +565,21 @@ "No such thing as reference indexing maps for a generic op."); } }]; + + let builders = [ + OpBuilder<"OpBuilder &builder, OperationState &result, " + "ArrayRef resultTypes, ValueRange args, " + "int64_t inputCount, int64_t outputCount, " + "ArrayRef indexingMaps, " + "ArrayRef iteratorTypes", [{ + return build(builder, result, resultTypes, args, + builder.getI64IntegerAttr(inputCount), + builder.getI64IntegerAttr(outputCount), + builder.getAffineMapArrayAttr(indexingMaps), + builder.getStrArrayAttr(iteratorTypes), + /*doc=*/nullptr, /*library_call=*/nullptr); + }]>]; + let printer = [{ return ::print(p, *this); }]; let parser = [{ return ::parseGenericOp(parser, result); }]; }