Lines Matching defs:tensor
1 //===- FoldTensorSubsetOps.cpp - Fold tensor subset ops -------------------===//
9 // Fold tensor subset ops with producer / consumers.
30 namespace tensor {
33 } // namespace tensor
42 static Value getTensorOperand(tensor::InsertSliceOp op) {
65 : public OpRewritePattern<tensor::InsertSliceOp> {
67 using OpRewritePattern<tensor::InsertSliceOp>::OpRewritePattern;
69 LogicalResult matchAndRewrite(tensor::InsertSliceOp insertSliceOp,
100 getTensorOperand(readOp).getDefiningOp<tensor::ExtractSliceOp>();
132 tensor::InsertSliceOp insertSliceOp, PatternRewriter &rewriter) const {
185 .template getDefiningOp<tensor::InsertSliceOp>();
222 // point outside: only tensor.parallel_insert_slice ops are allowed in
224 if (std::is_same_v<OpTy, tensor::ParallelInsertSliceOp>) {
251 void tensor::populateFoldTensorSubsetOpPatterns(RewritePatternSet &patterns) {
253 patterns.add<InsertSliceOfInsertSliceFolder<tensor::InsertSliceOp>,
254 InsertSliceOfInsertSliceFolder<tensor::ParallelInsertSliceOp>>(
258 void tensor::populateFoldTensorSubsetIntoVectorTransferPatterns(
271 : public tensor::impl::FoldTensorSubsetOpsBase<FoldTensorSubsetOpsPass> {
279 tensor::populateFoldTensorSubsetOpPatterns(patterns);
283 std::unique_ptr<Pass> tensor::createFoldTensorSubsetOpsPass() {