Home
last modified time | relevance | path

Searched refs:ExtractSliceOp (Results 1 – 25 of 29) sorted by relevance

12

/llvm-project-15.0.7/mlir/lib/Dialect/Tensor/IR/
H A DTensorOps.cpp273 rewriter.replaceOpWithNewOp<ExtractSliceOp>( in matchAndRewrite()
963 RankedTensorType ExtractSliceOp::inferResultType( in inferResultType()
976 RankedTensorType ExtractSliceOp::inferResultType( in inferResultType()
1124 LogicalResult ExtractSliceOp::verify() { in verify()
1152 LogicalResult ExtractSliceOp::reifyResultShapes( in reifyResultShapes()
1213 Value newSlice = rewriter.create<ExtractSliceOp>( in matchAndRewrite()
1258 : public OpRewritePattern<ExtractSliceOp> {
1264 : OpRewritePattern<ExtractSliceOp>(context), in ConstantOpExtractSliceFolder()
1267 LogicalResult matchAndRewrite(ExtractSliceOp op, in matchAndRewrite()
1352 RankedTensorType operator()(ExtractSliceOp op, in operator ()()
[all …]
H A DTensorTilingInterfaceImpl.cpp248 auto newSliceOp = b.create<tensor::ExtractSliceOp>( in bubbleUpPadSlice()
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Transforms/
H A DBubbleUpExtractSlice.cpp47 : OpRewritePattern<tensor::ExtractSliceOp> {
48 using OpRewritePattern<tensor::ExtractSliceOp>::OpRewritePattern;
50 LogicalResult matchAndRewrite(tensor::ExtractSliceOp sliceOp, in matchAndRewrite()
H A DHoistPadding.cpp103 tensor::ExtractSliceOp sliceOp);
201 auto sliceOp = padOp.getSource().getDefiningOp<tensor::ExtractSliceOp>(); in HoistingAnalysis()
257 tensor::ExtractSliceOp sliceOp) { in dropNonIndexDependencies()
455 if (auto sliceOp = dyn_cast<tensor::ExtractSliceOp>(op)) in hoistPaddingOnTensors()
504 Value outputTensor = b.create<tensor::ExtractSliceOp>( in hoistPaddingOnTensors()
541 Value newResult = b.create<tensor::ExtractSliceOp>( in hoistPaddingOnTensors()
H A DFusion.cpp80 !isa_and_nonnull<memref::SubViewOp, tensor::ExtractSliceOp>( in getShapeDefiningLoopRange()
162 resultTypes.push_back(tensor::ExtractSliceOp::inferResultType( in fuse()
185 if (auto sliceOp = dyn_cast<tensor::ExtractSliceOp>(shapeProducingOp)) in getRangeFromOperandShape()
389 if (auto sliceOp = tensor.getDefiningOp<tensor::ExtractSliceOp>()) { in getProducerOfTensor()
429 auto sliceOp = inputTensor.getDefiningOp<tensor::ExtractSliceOp>(); in fuseProducerOfTensor()
H A DFusionOnTensors.cpp130 tensor::ExtractSliceOp sliceOp, in getTiledProducer()
246 tensor::ExtractSliceOp sliceOp) { in hasOtherUses()
251 if (!isa<tensor::DimOp, tensor::InsertSliceOp, tensor::ExtractSliceOp>(op)) in hasOtherUses()
253 if (auto extractSliceOp = dyn_cast<tensor::ExtractSliceOp>(op)) { in hasOtherUses()
343 consumerOpOperand->get().getDefiningOp<tensor::ExtractSliceOp>(); in fuseProducer()
H A DHoisting.cpp54 tensor::ExtractSliceOp extractSliceOp;
77 static bool sameOffsetsSizesAndStrides(tensor::ExtractSliceOp s, in sameOffsetsSizesAndStrides()
116 tensor::ExtractSliceOp sliceOp; in findMatchingTransferRead()
119 sliceOp = dyn_cast<tensor::ExtractSliceOp>(user); in findMatchingTransferRead()
180 if (isa<tensor::ExtractSliceOp, tensor::InsertSliceOp>(user)) in tensorChunkAccessedByUnknownOp()
H A DDropUnitDims.cpp461 : public OpRewritePattern<tensor::ExtractSliceOp> {
462 using OpRewritePattern<tensor::ExtractSliceOp>::OpRewritePattern;
464 LogicalResult matchAndRewrite(tensor::ExtractSliceOp sliceOp, in matchAndRewrite()
475 tensor::ExtractSliceOp::inferCanonicalRankReducedResultType( in matchAndRewrite()
481 Value newSlice = rewriter.create<tensor::ExtractSliceOp>( in matchAndRewrite()
H A DTiling.cpp178 tensor::ExtractSliceOp subsetExtractOp, in createMatchingParallelSubsetInsertOp()
331 b, loc, cast<tensor::ExtractSliceOp>(std::get<0>(it).getDefiningOp()), in tileToForeachThreadOpImpl()
374 tensor::ExtractSliceOp sliceOp, Value source, in insertSliceIntoTensor()
595 auto sliceOp = tiledOutput.getDefiningOp<tensor::ExtractSliceOp>(); in tilePadOp()
675 tensor::ExtractSliceOp::getCanonicalizationPatterns(patterns, ctx); in populateLinalgTilingCanonicalizationPatterns()
H A DFusePadOpWithLinalgProducer.cpp107 auto slice = rewriter.create<tensor::ExtractSliceOp>( in matchAndRewrite()
H A DTilingInterfaceImpl.cpp128 auto sliceOp = sliceOpResult.getDefiningOp<tensor::ExtractSliceOp>(); in getResultTilePosition()
H A DTransforms.cpp208 auto sliceOp = currOpOperand->get().getDefiningOp<tensor::ExtractSliceOp>(); in padOperandToSmallestStaticBoundingBox()
304 paddedSubviewResults.push_back(b.create<tensor::ExtractSliceOp>( in rewriteAsPaddedOp()
815 tensor::ExtractSliceOp sliceOp, PatternRewriter &rewriter) const { in matchAndRewrite()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Tensor/IR/
H A DTensor.h128 using ControlConstantExtractSliceFusionFn = std::function<bool(ExtractSliceOp)>;
134 [](ExtractSliceOp op) {
H A DTensorOps.td175 // ExtractSliceOp
264 // Build an ExtractSliceOp with mixed static and dynamic entries and
269 // Build an ExtractSliceOp with mixed static and dynamic entries and custom
275 // Build an ExtractSliceOp with dynamic entries and custom result type. If
280 // Build an ExtractSliceOp with dynamic entries and inferred result type.
555 The same verification discussion and mechanisms apply as for ExtractSliceOp.
556 Unlike ExtractSliceOp however, there is no need for a specific inference.
1131 The same verification discussion and mechanisms apply as for ExtractSliceOp.
1132 Unlike ExtractSliceOp however, there is no need for a specific inference.
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Linalg/Utils/
H A DUtils.h25 class ExtractSliceOp; variable
109 tensor::ExtractSliceOp makeComposedExtractSliceOp(
432 bool hasOtherUses(BlockArgument bbArg, tensor::ExtractSliceOp sliceOp);
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Tensor/Transforms/
H A DTransforms.h30 OpBuilder &builder, tensor::ExtractSliceOp sliceOp, OpResult producerOp);
/llvm-project-15.0.7/mlir/lib/Dialect/SCF/Transforms/
H A DTileUsingInterface.cpp405 std::deque<tensor::ExtractSliceOp> &candidates) { in returningMatchAndRewrite()
407 if (auto sliceOp = operand.getDefiningOp<tensor::ExtractSliceOp>()) in returningMatchAndRewrite()
411 std::deque<tensor::ExtractSliceOp> candidates; in returningMatchAndRewrite()
416 tensor::ExtractSliceOp candidateSliceOp = candidates.front(); in returningMatchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Dialect/Tensor/Transforms/
H A DSwapExtractSliceWithProducer.cpp24 OpBuilder &builder, tensor::ExtractSliceOp sliceOp, OpResult producer) { in replaceExtractSliceWithTiledProducer()
H A DBufferizableOpInterfaceImpl.cpp255 tensor::ExtractSliceOp> {
280 auto extractSliceOp = cast<tensor::ExtractSliceOp>(op); in bufferize()
557 ExtractSliceOp extractSliceOp, in areEquivalentExtractSliceOps()
577 if (auto extractSliceOp = val.getDefiningOp<ExtractSliceOp>()) in hasMatchingExtractSliceOp()
979 ExtractSliceOp::attachInterface<ExtractSliceOpInterface>(*ctx); in registerBufferizableOpInterfaceExternalModels()
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Utils/
H A DUtils.cpp334 tensor::ExtractSliceOp makeComposedExtractSliceOp( in makeComposedExtractSliceOp()
340 auto producerOp = source.getDefiningOp<tensor::ExtractSliceOp>(); in makeComposedExtractSliceOp()
342 return b.create<tensor::ExtractSliceOp>(loc, source, offsets, sizes, in makeComposedExtractSliceOp()
357 return b.create<tensor::ExtractSliceOp>(loc, source, offsets, sizes, in makeComposedExtractSliceOp()
372 return b.create<tensor::ExtractSliceOp>(loc, producerOp.getSource(), in makeComposedExtractSliceOp()
379 auto sliceOp = source.getDefiningOp<tensor::ExtractSliceOp>(); in makeComposedPadHighOp()
411 auto padOpSliceOp = padOp.getSource().getDefiningOp<tensor::ExtractSliceOp>(); in makeComposedPadHighOp()
927 return builder.create<tensor::ExtractSliceOp>(loc, value, offsets, sizes, in createSlice()
981 if (auto sliceOp = outputTensor.getDefiningOp<tensor::ExtractSliceOp>()) { in insertSlicesBack()
/llvm-project-15.0.7/mlir/test/lib/Dialect/Tensor/
H A DTestTensorTransforms.cpp64 [](tensor::ExtractSliceOp op) { in applyFoldConstantExtractSlicePatterns()
/llvm-project-15.0.7/mlir/lib/Conversion/TosaToTensor/
H A DTosaToTensor.cpp52 auto newSliceOp = rewriter.create<tensor::ExtractSliceOp>( in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Dialect/Bufferization/Transforms/
H A DAllocTensorElimination.cpp218 auto extractOp = b.create<tensor::ExtractSliceOp>( in insertSliceAnchoredAllocTensorEliminationStep()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Linalg/Transforms/
H A DTransforms.h1315 : public OpRewritePattern<tensor::ExtractSliceOp> {
1325 using ControlFn = std::function<llvm::Optional<bool>(tensor::ExtractSliceOp)>;
1332 LogicalResult matchAndRewrite(tensor::ExtractSliceOp sliceOp,
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/TransformOps/
H A DLinalgTransformOps.cpp231 SmallVector<tensor::ExtractSliceOp> sliceOps; in tileAndFuse()
233 auto sliceOp = dyn_cast<tensor::ExtractSliceOp>(user); in tileAndFuse()
250 for (tensor::ExtractSliceOp sliceOp : sliceOps) { in tileAndFuse()

12