diff --git a/mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp b/mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp --- a/mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp +++ b/mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp @@ -485,6 +485,8 @@ return failure(); if (xferOp.getVectorType().getRank() <= options.targetRank) return failure(); + if (xferOp.getShapedType().template isa()) + return failure(); return success(); } @@ -802,6 +804,8 @@ PatternRewriter &rewriter) const override { if (xferOp.getVectorType().getRank() <= options.targetRank) return failure(); + if (xferOp.getShapedType().template isa()) + return failure(); auto insertOp = getInsertOp(xferOp); auto vec = getResultVector(xferOp, rewriter); @@ -918,6 +922,8 @@ PatternRewriter &rewriter) const override { if (xferOp.getVectorType().getRank() <= options.targetRank) return failure(); + if (xferOp.getShapedType().template isa()) + return failure(); auto vec = getDataVector(xferOp); auto xferVecType = xferOp.getVectorType();