[Mlir-commits] [mlir] [mlir][vector][spirv] Lower `vector.to_elements` to SPIR-V (PR #146618)

Jakub Kuderski llvmlistbot at llvm.org
Wed Jul 2 08:38:51 PDT 2025


================
@@ -1022,6 +1022,51 @@ struct VectorStepOpConvert final : OpConversionPattern<vector::StepOp> {
   }
 };
 
+struct VectorToElementOpConvert final
+    : public OpConversionPattern<vector::ToElementsOp> {
+  using OpConversionPattern::OpConversionPattern;
+
+  LogicalResult
+  matchAndRewrite(vector::ToElementsOp toElementsOp, OpAdaptor adaptor,
+                  ConversionPatternRewriter &rewriter) const override {
+
+    Type srcType =
+        getTypeConverter()->convertType(toElementsOp.getSource().getType());
+    if (!srcType)
----------------
kuhar wrote:

The dialect conversion driver should handle the conversion of all operand types. If you do `adaptor.getSource().getType()`, it should either be converted or this pattern wouldn't have been called.

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


More information about the Mlir-commits mailing list