[Mlir-commits] [mlir] [mlir][spirv] Split codegen for float min/max reductions and others (NFC) (PR #69023)

Daniil Dudkin llvmlistbot at llvm.org
Mon Oct 16 01:02:20 PDT 2023


================
@@ -381,9 +393,26 @@ struct VectorReductionPattern final
     if (Value acc = adaptor.getAcc())
       values.push_back(acc);
 
-    // Reduce them.
-    Value result = values.front();
-    for (Value next : llvm::ArrayRef(values).drop_front()) {
+    return values;
+  }
+};
+
+#define VECTOR_REDUCTION_BASE                                                  \
+  VectorReductionPatternBase<VectorReductionPattern<SPIRVUMaxOp, SPIRVUMinOp,  \
+                                                    SPIRVSMaxOp, SPIRVSMinOp>>
----------------
unterumarmung wrote:

Actually, it should work, I'll definitely give it a try! My idea wouldn't work because `VectorReductionPattern` is not declared before using it. 

https://github.com/llvm/llvm-project/pull/69023


More information about the Mlir-commits mailing list