diff --git a/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp b/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp --- a/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp +++ b/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp @@ -1760,7 +1760,7 @@ static_cast(outputs.size())})); result.addAttribute(getIteratorTypesAttrName(), iteratorTypes); - if (distributionTypes.hasValue()) + if (distributionTypes.hasValue() && distributionTypes->getAsOpaquePointer()) result.addAttribute(getDistributionTypesAttrName(), distributionTypes.getValue());