[Mlir-commits] [mlir] [MLIR][NVVM] Update redux.sync op (PR #166125)
Durgadoss R
llvmlistbot at llvm.org
Mon Nov 3 04:43:10 PST 2025
================
@@ -1577,6 +1563,43 @@ LogicalResult NVVM::ClusterLaunchControlQueryCancelOp::verify() {
return success();
}
+LogicalResult NVVM::ReduxOp::verify() {
+ mlir::Type reduxType = getType();
+
+ if (!reduxType.isF32()) {
+ if (getAbs())
+ return emitOpError("abs attribute is supported only for f32 type");
+ if (getNan())
+ return emitOpError("nan attribute is supported only for f32 type");
+ }
+
+ NVVM::ReduxKind kind = getKind();
+ switch (kind) {
+ case NVVM::ReduxKind::ADD:
+ case NVVM::ReduxKind::AND:
+ case NVVM::ReduxKind::OR:
+ case NVVM::ReduxKind::XOR:
+ case NVVM::ReduxKind::MAX:
+ case NVVM::ReduxKind::MIN:
+ case NVVM::ReduxKind::UMAX:
+ case NVVM::ReduxKind::UMIN:
+ if (!reduxType.isInteger(32))
+ return emitOpError("'")
+ << stringifyEnum(kind) << "' redux kind unsupported with "
+ << reduxType << " type. Only supported type is 'i32'.";
+ break;
+ case NVVM::ReduxKind::FMIN:
+ case NVVM::ReduxKind::FMAX:
+ if (!reduxType.isF32())
+ return emitOpError("'")
+ << stringifyEnum(kind) << "' redux kind unsupported with "
+ << reduxType << " type. Only supported type is 'f32'.";
+ break;
+ }
----------------
durga4github wrote:
Yes, this looks much cleaner now!
https://github.com/llvm/llvm-project/pull/166125
More information about the Mlir-commits
mailing list