| /llvm-project-15.0.7/mlir/lib/Dialect/Bufferization/IR/ |
| H A D | BufferizationOps.cpp | 75 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 D | ResolveShapedTypeResultDims.cpp | 125 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 D | LoopCanonicalization.cpp | 214 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 D | tensor.py | 35 d0 = tensor.DimOp(t, c0) 36 d1 = tensor.DimOp(t, c1)
|
| /llvm-project-15.0.7/mlir/docs/Rationale/ |
| H A D | UsageOfConst.md | 202 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 D | ShapeToStandard.cpp | 139 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 D | Utils.cpp | 52 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 D | TensorInferTypeOpInterfaceImpl.cpp | 51 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 D | TensorOps.cpp | 292 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 D | TensorTilingInterfaceImpl.cpp | 144 auto srcSize = b.createOrFold<tensor::DimOp>(loc, padOp.getSource(), dim); in bubbleUpPadSlice()
|
| /llvm-project-15.0.7/mlir/lib/Conversion/TosaToLinalg/ |
| H A D | TosaToLinalgNamed.cpp | 114 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 D | TosaToLinalg.cpp | 600 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 D | SparseTensorPasses.cpp | 111 target.addDynamicallyLegalOp<tensor::DimOp>([&](tensor::DimOp op) { in runOnOperation()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Vector/Utils/ |
| H A D | VectorUtils.cpp | 40 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 D | TosaToTensor.cpp | 45 auto dim = rewriter.create<tensor::DimOp>(loc, input, index); in matchAndRewrite()
|
| /llvm-project-15.0.7/mlir/include/mlir/Dialect/Tosa/Utils/ |
| H A D | CoversionUtils.h | 77 rewriter.create<tensor::DimOp>(op->getLoc(), params[0], 0)); in checkHasDynamicBatchDims()
|
| /llvm-project-15.0.7/mlir/lib/Conversion/BufferizationToMemRef/ |
| H A D | BufferizationToMemRef.cpp | 61 rewriter.createOrFold<memref::DimOp>(loc, op.getInput(), size); in matchAndRewrite()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Transforms/ |
| H A D | FusePadOpWithLinalgProducer.cpp | 100 rewriter.create<tensor::DimOp>(loc, source, shape.index()) in matchAndRewrite()
|
| H A D | Loops.cpp | 305 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 D | common.py | 89 n_iterations = memref.DimOp(ir.IndexType.get(), timer_buffer, zero)
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Tensor/Transforms/ |
| H A D | BufferizableOpInterfaceImpl.cpp | 180 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 D | MemoryPromotion.cpp | 54 ubs.push_back(b.createOrFold<memref::DimOp>( in insertCopyLoops()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/MemRef/IR/ |
| H A D | MemRefOps.cpp | 739 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 D | MemRefToLLVM.cpp | 344 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 D | PipelineDataTransfer.cpp | 89 allocOperands.push_back(bOuter.createOrFold<memref::DimOp>( in doubleBuffer()
|