Home
last modified time | relevance | path

Searched refs:DimOp (Results 1 – 25 of 41) sorted by relevance

12

/llvm-project-15.0.7/mlir/lib/Dialect/Bufferization/IR/
H A DBufferizationOps.cpp75 Value size = b.create<memref::DimOp>(loc, value, index); in castOrReallocMemRefValue()
330 using OpRewritePattern<tensor::DimOp>::OpRewritePattern;
332 LogicalResult matchAndRewrite(tensor::DimOp dimOp, in matchAndRewrite()
414 return b.create<tensor::DimOp>(getLoc(), getCopy(), idx); in getDynamicSize()
544 using OpRewritePattern<tensor::DimOp>::OpRewritePattern;
546 LogicalResult matchAndRewrite(tensor::DimOp dimOp, in matchAndRewrite()
552 rewriter.replaceOpWithNewOp<memref::DimOp>( in matchAndRewrite()
630 struct DimOfCastOp : public OpRewritePattern<memref::DimOp> {
631 using OpRewritePattern<memref::DimOp>::OpRewritePattern;
633 LogicalResult matchAndRewrite(memref::DimOp dimOp, in matchAndRewrite()
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/MemRef/Transforms/
H A DResolveShapedTypeResultDims.cpp125 patterns.add<DimOfReifyRankedShapedTypeOpInterface<memref::DimOp>, in populateResolveRankedShapeTypeResultDimsPatterns()
126 DimOfReifyRankedShapedTypeOpInterface<tensor::DimOp>>( in populateResolveRankedShapeTypeResultDimsPatterns()
133 patterns.add<DimOfShapedTypeOpInterface<memref::DimOp>, in populateResolveShapedTypeResultDimsPatterns()
134 DimOfShapedTypeOpInterface<tensor::DimOp>>( in populateResolveShapedTypeResultDimsPatterns()
/llvm-project-15.0.7/mlir/lib/Dialect/SCF/Transforms/
H A DLoopCanonicalization.cpp214 DimOfIterArgFolder<tensor::DimOp>, DimOfIterArgFolder<memref::DimOp>, in populateSCFForLoopCanonicalizationPatterns()
215 DimOfLoopResultFolder<tensor::DimOp>, in populateSCFForLoopCanonicalizationPatterns()
216 DimOfLoopResultFolder<memref::DimOp>>(ctx); in populateSCFForLoopCanonicalizationPatterns()
/llvm-project-15.0.7/mlir/test/python/dialects/
H A Dtensor.py35 d0 = tensor.DimOp(t, c0)
36 d1 = tensor.DimOp(t, c1)
/llvm-project-15.0.7/mlir/docs/Rationale/
H A DUsageOfConst.md202 The "typed operation" classes for registered operations (e.g. like `DimOp` for
206 However, this is a problem for our current `const` design - `const DimOp` means
210 referring to `DimOp` directly, we used `OpPointer<DimOp>` and
211 `ConstOpPointer<DimOp>` to preserve this constness.
215 have a direct `DimOp` object, creating easy pitfalls with subtly incorrect
228 if (auto *dimOp = inst->dyn_cast<DimOp>()) {
230 // OpPointer<DimOp>. OpPointer<DimOp> happily implicitly converts to DimOp *
235 It is much better to eliminate them entirely, and just pass around `DimOp`
/llvm-project-15.0.7/mlir/lib/Conversion/ShapeToStandard/
H A DShapeToStandard.cpp139 return lb.create<tensor::DimOp>(v, zero); in matchAndRewrite()
254 return lb.create<tensor::DimOp>(v, zero); in matchAndRewrite()
346 rewriter.replaceOpWithNewOp<tensor::DimOp>(op, shapeOfOp.getArg(), in matchAndRewrite()
376 rewriter.replaceOpWithNewOp<tensor::DimOp>(op, adaptor.getShape(), 0); in matchAndRewrite()
405 rewriter.create<tensor::DimOp>(loc, indexTy, adaptor.getShape(), zero); in matchAndRewrite()
490 rewriter.create<tensor::DimOp>(loc, indexTy, firstShape, zero); in matchAndRewrite()
494 Value rank = rewriter.create<tensor::DimOp>(loc, indexTy, shape, zero); in matchAndRewrite()
561 Value extent = rewriter.create<tensor::DimOp>(loc, tensor, i); in matchAndRewrite()
586 Value extent = b.create<tensor::DimOp>(loc, tensor, dim); in matchAndRewrite()
615 Value rank = b.create<tensor::DimOp>(adaptor.getOperand(), zero); in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Dialect/Tensor/Utils/
H A DUtils.cpp52 auto dimOp = b.createOrFold<tensor::DimOp>(loc, source, en.index()); in createPadHighOp()
67 b.create<tensor::DimOp>(loc, rankedTensor, en.index())); in createDynamicDimValues()
/llvm-project-15.0.7/mlir/lib/Dialect/Tensor/IR/
H A DTensorInferTypeOpInterfaceImpl.cpp51 dynamicDims.push_back(builder.createOrFold<tensor::DimOp>(loc, src, dim)); in getCollapsedOutputDimFromInputShape()
102 Value sourceDim = builder.create<tensor::DimOp>(loc, src, sourceDimPos); in getExpandedOutputDimFromInputShape()
181 b.createOrFold<tensor::DimOp>(loc, padOp.getSource(), dim)); in reifyResultShapes()
H A DTensorOps.cpp292 void DimOp::build(OpBuilder &builder, OperationState &result, Value source, in build()
299 Optional<int64_t> DimOp::getConstantIndex() { in getConstantIndex()
305 LogicalResult DimOp::verify() { in verify()
324 OpFoldResult DimOp::fold(ArrayRef<Attribute> operands) { in fold()
381 struct DimOfCastOp : public OpRewritePattern<DimOp> {
382 using OpRewritePattern<DimOp>::OpRewritePattern;
384 LogicalResult matchAndRewrite(DimOp dimOp, in matchAndRewrite()
396 void DimOp::getCanonicalizationPatterns(RewritePatternSet &results, in getCanonicalizationPatterns()
1442 dim = b.createOrFold<tensor::DimOp>( in createCanonicalRankReducingExtractSliceOp()
1581 builder.createOrFold<tensor::DimOp>(getLoc(), getDest(), dim); in reifyResultShapes()
[all …]
H A DTensorTilingInterfaceImpl.cpp144 auto srcSize = b.createOrFold<tensor::DimOp>(loc, padOp.getSource(), dim); in bubbleUpPadSlice()
/llvm-project-15.0.7/mlir/lib/Conversion/TosaToLinalg/
H A DTosaToLinalgNamed.cpp114 dynDims[i] = rewriter.create<tensor::DimOp>(loc, input, i); in inferDynamicDimsForConv()
120 rewriter.create<tensor::DimOp>(loc, input, heightDim).getResult(); in inferDynamicDimsForConv()
122 rewriter.create<tensor::DimOp>(loc, weight, weightHDim).getResult(); in inferDynamicDimsForConv()
133 rewriter.create<tensor::DimOp>(loc, input, weightDim).getResult(); in inferDynamicDimsForConv()
135 rewriter.create<tensor::DimOp>(loc, weight, weightWDim).getResult(); in inferDynamicDimsForConv()
515 dynDims[0] = rewriter.create<tensor::DimOp>(loc, op->getOperand(0), 0); in matchAndRewrite()
519 dynDims[1] = rewriter.create<tensor::DimOp>(loc, op->getOperand(0), 1); in matchAndRewrite()
523 dynDims[2] = rewriter.create<tensor::DimOp>(loc, op->getOperand(1), 2); in matchAndRewrite()
580 dynDims[0] = rewriter.create<tensor::DimOp>(loc, input, 0); in matchAndRewrite()
584 dynDims[1] = rewriter.create<tensor::DimOp>(loc, weight, 0); in matchAndRewrite()
H A DTosaToLinalg.cpp600 dynDims[i] = rewriter.create<tensor::DimOp>(loc, arg, i); in elementwiseMatchAndRewriteHelper()
803 dynDims.push_back(rewriter.create<tensor::DimOp>(loc, input, i)); in reduceMatchAndRewriteHelper()
1123 dynDims[value] = rewriter.create<tensor::DimOp>(loc, input, index); in matchAndRewrite()
1662 sizes.push_back(rewriter.createOrFold<tensor::DimOp>( in matchAndRewrite()
1666 rewriter.create<tensor::DimOp>(loc, op.getOperand(0), i)); in matchAndRewrite()
1672 auto size = rewriter.createOrFold<tensor::DimOp>(loc, arg, axisValue); in matchAndRewrite()
1724 dynDims.push_back(rewriter.create<tensor::DimOp>(loc, input, i)); in matchAndRewrite()
1728 Value axisDimSize = rewriter.create<tensor::DimOp>(loc, input, axis); in matchAndRewrite()
1798 dynDims.push_back(rewriter.create<tensor::DimOp>(loc, input, i)); in matchAndRewrite()
1945 dynDims.push_back(rewriter.create<tensor::DimOp>(loc, input, i)); in matchAndRewrite()
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/SparseTensor/Transforms/
H A DSparseTensorPasses.cpp111 target.addDynamicallyLegalOp<tensor::DimOp>([&](tensor::DimOp op) { in runOnOperation()
/llvm-project-15.0.7/mlir/lib/Dialect/Vector/Utils/
H A DVectorUtils.cpp40 return b.createOrFold<memref::DimOp>(loc, source, dim); in createOrFoldDimOp()
42 return b.createOrFold<tensor::DimOp>(loc, source, dim); in createOrFoldDimOp()
/llvm-project-15.0.7/mlir/lib/Conversion/TosaToTensor/
H A DTosaToTensor.cpp45 auto dim = rewriter.create<tensor::DimOp>(loc, input, index); in matchAndRewrite()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Tosa/Utils/
H A DCoversionUtils.h77 rewriter.create<tensor::DimOp>(op->getLoc(), params[0], 0)); in checkHasDynamicBatchDims()
/llvm-project-15.0.7/mlir/lib/Conversion/BufferizationToMemRef/
H A DBufferizationToMemRef.cpp61 rewriter.createOrFold<memref::DimOp>(loc, op.getInput(), size); in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Transforms/
H A DFusePadOpWithLinalgProducer.cpp100 rewriter.create<tensor::DimOp>(loc, source, shape.index()) in matchAndRewrite()
H A DLoops.cpp305 memref::DimOp::getCanonicalizationPatterns(patterns, context); in lowerLinalgToLoopsImpl()
306 tensor::DimOp::getCanonicalizationPatterns(patterns, context); in lowerLinalgToLoopsImpl()
/llvm-project-15.0.7/mlir/benchmark/python/
H A Dcommon.py89 n_iterations = memref.DimOp(ir.IndexType.get(), timer_buffer, zero)
/llvm-project-15.0.7/mlir/lib/Dialect/Tensor/Transforms/
H A DBufferizableOpInterfaceImpl.cpp180 tensor::DimOp> {
198 auto dimOp = cast<tensor::DimOp>(op); in bufferize()
202 replaceOpWithNewBufferizedOp<memref::DimOp>(rewriter, op, *v, in bufferize()
977 DimOp::attachInterface<DimOpInterface>(*ctx); in registerBufferizableOpInterfaceExternalModels()
/llvm-project-15.0.7/mlir/lib/Dialect/GPU/Transforms/
H A DMemoryPromotion.cpp54 ubs.push_back(b.createOrFold<memref::DimOp>( in insertCopyLoops()
/llvm-project-15.0.7/mlir/lib/Dialect/MemRef/IR/
H A DMemRefOps.cpp739 void DimOp::build(OpBuilder &builder, OperationState &result, Value source, in build()
746 void DimOp::build(OpBuilder &builder, OperationState &result, Value source, in build()
752 Optional<int64_t> DimOp::getConstantIndex() { in getConstantIndex()
758 LogicalResult DimOp::verify() { in verify()
873 OpFoldResult DimOp::fold(ArrayRef<Attribute> operands) { in fold()
944 struct DimOfMemRefReshape : public OpRewritePattern<DimOp> {
945 using OpRewritePattern<DimOp>::OpRewritePattern;
947 LogicalResult matchAndRewrite(DimOp dim, in matchAndRewrite()
969 void DimOp::getCanonicalizationPatterns(RewritePatternSet &results, in getCanonicalizationPatterns()
/llvm-project-15.0.7/mlir/lib/Conversion/MemRefToLLVM/
H A DMemRefToLLVM.cpp344 struct DimOpLowering : public ConvertOpToLLVMPattern<memref::DimOp> {
345 using ConvertOpToLLVMPattern<memref::DimOp>::ConvertOpToLLVMPattern;
348 matchAndRewrite(memref::DimOp dimOp, OpAdaptor adaptor, in matchAndRewrite()
368 Value extractSizeOfUnrankedMemRef(Type operandType, memref::DimOp dimOp, in extractSizeOfUnrankedMemRef()
408 Optional<int64_t> getConstantDimIndex(memref::DimOp dimOp) const { in getConstantDimIndex()
421 Value extractSizeOfRankedMemRef(Type operandType, memref::DimOp dimOp, in extractSizeOfRankedMemRef()
1761 rewriter.create<memref::DimOp>(loc, subViewOp.getSource(), pos); in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Dialect/Affine/Transforms/
H A DPipelineDataTransfer.cpp89 allocOperands.push_back(bOuter.createOrFold<memref::DimOp>( in doubleBuffer()

12