Commit b858309d authored by Jacques Pienaar's avatar Jacques Pienaar
Browse files

[mlir] Only attempt to vectorize conv if conv.

Avoids hitting assertions due to unsupported convolution patterns.

See https://github.com/openxla/iree/issues/15207#issuecomment-1767650797
parent d6a92611
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -1693,6 +1693,7 @@ LogicalResult mlir::linalg::vectorize(RewriterBase &rewriter, Operation *op,
          .Case<linalg::LinalgOp>([&](auto linalgOp) {
            // TODO: isaConvolutionOpInterface that can also infer from generic
            // features. Will require stride/dilation attributes inference.
            if (isa<ConvolutionOpInterface>(linalgOp.getOperation())) {
              FailureOr<Operation *> convOr =
                  vectorizeConvolution(rewriter, linalgOp);
              if (succeeded(convOr)) {
@@ -1700,6 +1701,10 @@ LogicalResult mlir::linalg::vectorize(RewriterBase &rewriter, Operation *op,
                return success();
              }

              LDBG("Unsupported convolution can't be vectorized.\n");
              return failure();
            }

            LDBG("Vectorize generic by broadcasting to the canonical vector "
                 "shape\n");