[Mlir-commits] [mlir] [mlir][linalg] Migrate elementwise named ops from OpDSL to tablegen multiclass (PR #216976)
Renato Golin
llvmlistbot at llvm.org
Tue Aug 18 03:42:58 PDT 2026
================
@@ -5114,6 +5114,43 @@ Speculation::Speculatability ElementwiseOp::getSpeculatability() {
return getGenericSpeculatabilityImpl(cast<LinalgOp>(getOperation()));
}
+ElementwiseKind ElementwiseOp::getElementwiseKind() { return getKind(); }
+
+//===----------------------------------------------------------------------===//
+// Shared utilities for named elementwise ops (AddOp, SubOp, ExpOp, etc.)
+//===----------------------------------------------------------------------===//
+
+void buildElementwiseRegion(ImplicitLocOpBuilder &b, Block &block,
+ ElementwiseKind kind,
+ function_ref<InFlightDiagnostic()> emitError) {
+ ArityGroupAndKind groupAndKind = getArityGroupAndKind(kind);
+ auto arityGroup = groupAndKind.arityGroup;
+ auto fnKind = groupAndKind.kind;
+
+ unsigned expectedArgs = getArityGroupAsUInt(arityGroup) + 1;
+ assert(block.getNumArguments() == expectedArgs &&
+ "elementwise regionBuilder arg count mismatch");
+
+ RegionBuilderHelper helper(b, block);
+ Value result;
+
+ if (arityGroup == ElementwiseArityGroup::Unary) {
----------------
rengolin wrote:
Switch?
https://github.com/llvm/llvm-project/pull/216976
More information about the Mlir-commits
mailing list