Lines Matching defs:linalgOp

44 static bool validateFullTilesOnDims(linalg::LinalgOp linalgOp,
51 inferContractionDims(linalgOp);
62 auto tileOp = cast<TilingInterface>(linalgOp.getOperation());
90 transposePackedMatmul(RewriterBase &rewriter, linalg::LinalgOp linalgOp,
131 packTranspose(rewriter, packOp, linalgOp,
139 linalg::blockPackMatmul(RewriterBase &rewriter, linalg::LinalgOp linalgOp,
141 if (linalgOp.hasPureBufferSemantics())
142 return rewriter.notifyMatchFailure(linalgOp, "require tensor semantics");
144 std::optional<BlockPackMatmulOptions> options = controlPackMatmul(linalgOp);
146 return rewriter.notifyMatchFailure(linalgOp, "invalid packing options");
149 return rewriter.notifyMatchFailure(linalgOp, "require 3 tile factors");
156 !validateFullTilesOnDims(linalgOp, mnkTiles, options->mnkOrder)) {
157 return rewriter.notifyMatchFailure(linalgOp,
163 rewriter.setInsertionPointAfter(linalgOp);
170 rewriter, linalgOp, mnkTiles, options->mnkPaddedSizesNextMultipleOf,
223 LogicalResult matchAndRewrite(OpTy linalgOp,
226 blockPackMatmul(rewriter, linalgOp, controlFn);
244 LogicalResult matchAndRewrite(linalg::GenericOp linalgOp,
247 if (!linalg::isaContractionOpInterface(linalgOp)) {
248 return rewriter.notifyMatchFailure(linalgOp, "not a contraction");
253 return AffineMap::inferFromExprList(m, linalgOp.getContext());
257 bindDims(linalgOp->getContext(), i, j, k);
258 SmallVector<AffineMap> maps = linalgOp.getIndexingMapsArray();
264 return rewriter.notifyMatchFailure(linalgOp, "not a suitable matmul");
268 blockPackMatmul(rewriter, linalgOp, controlFn);