| /llvm-project-15.0.7/mlir/lib/Dialect/Tensor/IR/ |
| H A D | TensorOps.cpp | 273 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 D | TensorTilingInterfaceImpl.cpp | 248 auto newSliceOp = b.create<tensor::ExtractSliceOp>( in bubbleUpPadSlice()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Transforms/ |
| H A D | BubbleUpExtractSlice.cpp | 47 : OpRewritePattern<tensor::ExtractSliceOp> { 48 using OpRewritePattern<tensor::ExtractSliceOp>::OpRewritePattern; 50 LogicalResult matchAndRewrite(tensor::ExtractSliceOp sliceOp, in matchAndRewrite()
|
| H A D | HoistPadding.cpp | 103 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 D | Fusion.cpp | 80 !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 D | FusionOnTensors.cpp | 130 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 D | Hoisting.cpp | 54 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 D | DropUnitDims.cpp | 461 : 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 D | Tiling.cpp | 178 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 D | FusePadOpWithLinalgProducer.cpp | 107 auto slice = rewriter.create<tensor::ExtractSliceOp>( in matchAndRewrite()
|
| H A D | TilingInterfaceImpl.cpp | 128 auto sliceOp = sliceOpResult.getDefiningOp<tensor::ExtractSliceOp>(); in getResultTilePosition()
|
| H A D | Transforms.cpp | 208 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 D | Tensor.h | 128 using ControlConstantExtractSliceFusionFn = std::function<bool(ExtractSliceOp)>; 134 [](ExtractSliceOp op) {
|
| H A D | TensorOps.td | 175 // 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 D | Utils.h | 25 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 D | Transforms.h | 30 OpBuilder &builder, tensor::ExtractSliceOp sliceOp, OpResult producerOp);
|
| /llvm-project-15.0.7/mlir/lib/Dialect/SCF/Transforms/ |
| H A D | TileUsingInterface.cpp | 405 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 D | SwapExtractSliceWithProducer.cpp | 24 OpBuilder &builder, tensor::ExtractSliceOp sliceOp, OpResult producer) { in replaceExtractSliceWithTiledProducer()
|
| H A D | BufferizableOpInterfaceImpl.cpp | 255 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 D | Utils.cpp | 334 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 D | TestTensorTransforms.cpp | 64 [](tensor::ExtractSliceOp op) { in applyFoldConstantExtractSlicePatterns()
|
| /llvm-project-15.0.7/mlir/lib/Conversion/TosaToTensor/ |
| H A D | TosaToTensor.cpp | 52 auto newSliceOp = rewriter.create<tensor::ExtractSliceOp>( in matchAndRewrite()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Bufferization/Transforms/ |
| H A D | AllocTensorElimination.cpp | 218 auto extractOp = b.create<tensor::ExtractSliceOp>( in insertSliceAnchoredAllocTensorEliminationStep()
|
| /llvm-project-15.0.7/mlir/include/mlir/Dialect/Linalg/Transforms/ |
| H A D | Transforms.h | 1315 : 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 D | LinalgTransformOps.cpp | 231 SmallVector<tensor::ExtractSliceOp> sliceOps; in tileAndFuse() 233 auto sliceOp = dyn_cast<tensor::ExtractSliceOp>(user); in tileAndFuse() 250 for (tensor::ExtractSliceOp sliceOp : sliceOps) { in tileAndFuse()
|