Lines Matching defs:xferOp
2341 /// - `xferOp` has no out-of-bounds dims or mask.
2350 vector::TransferReadOp xferOp) const override {
2358 // Padding value of existing `xferOp` is unused.
2359 if (xferOp.hasOutOfBoundsDim() || xferOp.getMask())
2362 rewriter.modifyOpInPlace(xferOp, [&]() {
2363 SmallVector<bool> inBounds(xferOp.getVectorType().getRank(), false);
2364 xferOp->setAttr(xferOp.getInBoundsAttrName(),
2366 xferOp.getSourceMutable().assign(padOp.getSource());
2367 xferOp.getPaddingMutable().assign(padValue);
2402 /// - `xferOp` has exactly one use, which is an ExtractSliceOp. This
2412 vector::TransferWriteOp xferOp) const override {
2414 if (xferOp.getTransferRank() == 0)
2425 if (!xferOp->hasOneUse())
2427 auto trimPadding = dyn_cast<tensor::ExtractSliceOp>(*xferOp->user_begin());
2438 rewriter.setInsertionPoint(xferOp);
2440 SmallVector<bool> inBounds(xferOp.getVectorType().getRank(), false);
2442 xferOp, padOp.getSource().getType(), xferOp.getVector(),
2443 padOp.getSource(), xferOp.getIndices(), xferOp.getPermutationMapAttr(),
2444 xferOp.getMask(), rewriter.getBoolArrayAttr(inBounds));
2843 vector::TransferReadOp xferOp, PatternRewriter &rewriter) const {
2846 if (xferOp.getMask())
2847 return rewriter.notifyMatchFailure(xferOp, "unsupported mask");
2850 Value viewOrAlloc = xferOp.getSource();
2853 return rewriter.notifyMatchFailure(xferOp, "source not a view or alloc");
2858 return rewriter.notifyMatchFailure(xferOp, "no subview found");
2868 if (mayExistInterleavedUses(newCopyOp, xferOp, {viewOrAlloc, subView}))
2875 return rewriter.notifyMatchFailure(xferOp, "no copy found");
2892 if (maybeFillOp && xferOp.getPadding() != maybeFillOp.value())
2893 return rewriter.notifyMatchFailure(xferOp,
2903 auto vectorType = xferOp.getVectorType();
2905 xferOp.getLoc(), vectorType, in, xferOp.getIndices(),
2906 xferOp.getPermutationMapAttr(), xferOp.getPadding(), xferOp.getMask(),
2913 rewriter.replaceOp(xferOp, res);
2921 vector::TransferWriteOp xferOp, PatternRewriter &rewriter) const {
2923 if (xferOp.getMask())
2924 return rewriter.notifyMatchFailure(xferOp, "unsupported mask");
2927 Value viewOrAlloc = xferOp.getSource();
2930 return rewriter.notifyMatchFailure(xferOp, "source not a view or alloc");
2935 return rewriter.notifyMatchFailure(xferOp, "no subview found");
2944 if (mayExistInterleavedUses(xferOp, newCopyOp, {viewOrAlloc, subView}))
2951 return rewriter.notifyMatchFailure(xferOp, "no copy found");
2962 auto vector = xferOp.getVector();
2964 xferOp.getLoc(), vector, out, xferOp.getIndices(),
2965 xferOp.getPermutationMapAttr(), xferOp.getMask(),
2970 rewriter.eraseOp(xferOp);
3471 auto xferOp = cast<VectorTransferOpInterface>(opToMask);
3472 xferOp->setAttr(xferOp.getInBoundsAttrName(),