Lines Matching defs:insertSliceOp
69 LogicalResult matchAndRewrite(tensor::InsertSliceOp insertSliceOp,
132 tensor::InsertSliceOp insertSliceOp, PatternRewriter &rewriter) const {
133 auto writeOp = getTensorOperand(insertSliceOp)
136 return rewriter.notifyMatchFailure(insertSliceOp, "not a transfer_write");
140 insertSliceOp);
146 insertSliceOp, "transfer_write does not cover insert_slice");
152 rewriter, writeOp.getLoc(), insertSliceOp.getMixedOffsets(),
153 insertSliceOp.getMixedStrides(), insertSliceOp.getDroppedDims(), indices,
157 insertSliceOp, writeOp.getValue(), insertSliceOp.getDest(), sourceIndices,
159 insertSliceOp.getDestType().getRank(),
160 insertSliceOp.getDroppedDims())),
181 LogicalResult matchAndRewrite(OpTy insertSliceOp,
184 insertSliceOp.getSource()
190 if (!insertSliceOp.hasUnitStride()) {
191 return rewriter.notifyMatchFailure(insertSliceOp,
200 llvm::SmallBitVector droppedDims = insertSliceOp.getDroppedDims();
201 for (int64_t d = 0, e = insertSliceOp.getDestType().getRank(); d < e; ++d) {
204 if (insertSliceOp.getMixedSizes()[d] !=
215 // `insertSliceOp` is passed as the "source" and `sourceInsertSliceOp` is
217 affine::resolveSizesIntoOpWithSizes(insertSliceOp.getMixedSizes(),
226 insertSliceOp->template getParentOfType<scf::InParallelOp>());
232 // `insertSliceOp` is passed as the "source" and `sourceInsertSliceOp` is
235 rewriter, insertSliceOp.getLoc(), insertSliceOp.getMixedOffsets(),
236 insertSliceOp.getMixedStrides(), droppedDims,
240 rewriter.setInsertionPoint(insertSliceOp);
243 insertSliceOp, sourceInsertSliceOp.getSource(), insertSliceOp.getDest(),
245 insertSliceOp.getMixedStrides());