Lines Matching defs:insertOp

1639     // Case 5: No intersection, we forward the extract to insertOp.dest().
1885 auto insertOp = extractOp.getVector().getDefiningOp<InsertStridedSliceOp>();
1886 if (!insertOp)
1891 if (hasZeroDimVectors(insertOp))
1894 while (insertOp) {
1895 int64_t insertRankDiff = insertOp.getDestVectorType().getRank() -
1896 insertOp.getSourceVectorType().getRank();
1897 if (destinationRank > insertOp.getSourceVectorType().getRank())
1899 auto insertOffsets = extractVector<int64_t>(insertOp.getOffsets());
1902 if (llvm::any_of(insertOp.getStrides(), [](Attribute attr) {
1913 : insertOp.getSourceVectorType().getDimSize(dim - insertRankDiff);
1930 insertOp.getSourceVectorType().getRank() - destinationRank;
1932 if (insertOp.getSourceVectorType().getDimSize(i + srcRankDiff) !=
1933 insertOp.getDestVectorType().getDimSize(i + srcRankDiff +
1937 extractOp.getVectorMutable().assign(insertOp.getSource());
1945 insertOp = insertOp.getDest().getDefiningOp<InsertStridedSliceOp>();
2939 // If insertOp is only inserting unit dimensions it can be transformed to a
2945 LogicalResult matchAndRewrite(InsertOp insertOp,
2947 auto srcVecType = llvm::dyn_cast<VectorType>(insertOp.getSourceType());
2948 if (!srcVecType || insertOp.getDestVectorType().getNumElements() !=
2952 insertOp, insertOp.getDestVectorType(), insertOp.getSource());
3615 auto insertOp = op.getVector().getDefiningOp<InsertStridedSliceOp>();
3616 while (insertOp) {
3618 insertOp.getSourceVectorType().getRank())
3620 ArrayAttr insertOffsets = insertOp.getOffsets();
3621 ArrayAttr insertStrides = insertOp.getStrides();
3633 int64_t end = start + insertOp.getSourceVectorType().getDimSize(dim);
3650 op.setOperand(insertOp.getSource());
3659 insertOp = insertOp.getDest().getDefiningOp<InsertStridedSliceOp>();
4926 LogicalResult matchAndRewrite(tensor::InsertSliceOp insertOp,
4928 if (!insertOp.hasUnitStride())
4931 insertOp.getSource().getDefiningOp<tensor::ExtractSliceOp>();
4940 if (insertOp.getSourceType().getRank() != transferOp.getTransferRank()) {
4941 return rewriter.notifyMatchFailure(insertOp,
4947 return rewriter.notifyMatchFailure(insertOp,
4955 return rewriter.notifyMatchFailure(insertOp,
4960 if (insertOp.getMixedSizes().size() != extractOp.getMixedSizes().size()) {
4962 insertOp, "InsertSliceOp and ExtractSliceOp ranks differ");
4966 llvm::zip_equal(insertOp.getMixedSizes(), extractOp.getMixedSizes())) {
4969 insertOp, "InsertSliceOp and ExtractSliceOp sizes differ");
4981 insertOp, "TransferWriteOp may not write the full tensor.");
4988 extractOp.getLoc(), insertOp.getSourceType(), insertOp.getDest(),
4989 insertOp.getMixedOffsets(), insertOp.getMixedSizes(),
4990 insertOp.getMixedStrides());
4995 rewriter.modifyOpInPlace(insertOp, [&]() {
4996 insertOp.getSourceMutable().assign(newTransferWriteOp.getResult());