Home
last modified time | relevance | path

Searched refs:PadOp (Results 1 – 25 of 28) sorted by relevance

12

/llvm-project-15.0.7/mlir/include/mlir/Dialect/Linalg/Transforms/
H A DHoistPadding.h18 class PadOp; variable
71 tensor::PadOp opToHoist, int numLoops, ArrayRef<int64_t> transposeVector,
72 tensor::PadOp &hoistedOp, SmallVectorImpl<GenericOp> &transposeOps);
H A DTransforms.h1187 struct PadOpTransformationPattern : public OpRewritePattern<tensor::PadOp> {
1188 using OpRewritePattern<tensor::PadOp>::OpRewritePattern;
1190 LogicalResult matchAndRewrite(tensor::PadOp padOp,
1207 std::function<LogicalResult(PatternRewriter &, tensor::PadOp, Value)>;
1212 struct GeneralizePadOpPattern : public OpRewritePattern<tensor::PadOp> {
1216 : OpRewritePattern<tensor::PadOp>(context, benefit),
1218 LogicalResult matchAndRewrite(tensor::PadOp padOp,
1223 Value createFillOrGenerateOp(PatternRewriter &rewriter, tensor::PadOp padOp,
/llvm-project-15.0.7/mlir/lib/Dialect/Tensor/IR/
H A DTensorTilingInterfaceImpl.cpp22 struct PadOpTiling : public TilingInterface::ExternalModel<PadOpTiling, PadOp> {
30 auto padOp = cast<PadOp>(op); in getDestinationOperands()
38 auto padOp = cast<PadOp>(op); in getLoopIteratorTypes()
67 tensor::bubbleUpPadSlice(b, cast<PadOp>(op), offsets, sizes); in getTiledImplementation()
76 Operation *tensor::bubbleUpPadSlice(OpBuilder &b, tensor::PadOp padOp, in bubbleUpPadSlice()
250 auto newPadOp = b.create<PadOp>(loc, newSliceOp, staticNewLows, in bubbleUpPadSlice()
287 tensor::PadOp::attachInterface<PadOpTiling>(*ctx); in registerTilingOpInterfaceExternalModels()
H A DTensorOps.cpp1823 LogicalResult PadOp::verify() { in verify()
1826 auto expectedType = PadOp::inferResultType( in verify()
1842 LogicalResult PadOp::verifyRegions() { in verifyRegions()
1940 llvm::SmallBitVector PadOp::getPaddedDims() { in getPaddedDims()
1981 auto newResultType = PadOp::inferResultType( in matchAndRewrite()
1992 auto newOp = rewriter.create<PadOp>( in matchAndRewrite()
2024 auto replacementOp = rewriter.create<PadOp>( in matchAndRewrite()
2074 LogicalResult matchAndRewrite(PadOp padOp, in matchAndRewrite()
2183 auto newPadOp = rewriter.create<PadOp>( in matchAndRewrite()
2210 Value PadOp::getConstantPaddingValue() { in getConstantPaddingValue()
[all …]
H A DTensorInferTypeOpInterfaceImpl.cpp168 PadOp> {
172 auto padOp = cast<PadOp>(op); in reifyResultShapes()
213 PadOp::attachInterface<ReifyPadOp>(*ctx); in registerInferTypeOpInterfaceExternalModels()
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Transforms/
H A DHoistPadding.cpp57 HoistingAnalysis(tensor::PadOp padOp, int numLoops);
102 LogicalResult dropNonIndexDependencies(tensor::PadOp padOp,
111 static bool isOnlyUsedAsInputOfLinalgOp(tensor::PadOp padOp) { in isOnlyUsedAsInputOfLinalgOp()
130 getAtMostNEnclosingLoops(tensor::PadOp padOp, int nLevels, in getAtMostNEnclosingLoops()
168 HoistingAnalysis::HoistingAnalysis(tensor::PadOp padOp, int numLoops) { in HoistingAnalysis()
256 HoistingAnalysis::dropNonIndexDependencies(tensor::PadOp padOp, in dropNonIndexDependencies()
398 tensor::PadOp opToHoist, int numLoops, ArrayRef<int64_t> transposeVector, in hoistPaddingOnTensors()
399 tensor::PadOp &hoistedOp, SmallVectorImpl<GenericOp> &transposeOps) { in hoistPaddingOnTensors()
556 cast<tensor::PadOp>(bvm.lookup(opToHoist.getResult()).getDefiningOp()); in hoistPaddingOnTensors()
H A DFusePadOpWithLinalgProducer.cpp41 struct FusePadOp : OpRewritePattern<tensor::PadOp> {
42 using OpRewritePattern<tensor::PadOp>::OpRewritePattern;
44 LogicalResult matchAndRewrite(tensor::PadOp padOp, in matchAndRewrite()
H A DTiling.cpp548 static LogicalResult tilePadOp(RewriterBase &builder, tensor::PadOp op, in tilePadOp()
549 tensor::PadOp &newPadOp, LoopNest &loopNest, in tilePadOp()
556 newPadOp = cast<tensor::PadOp>(builder.clone(*op.getOperation())); in tilePadOp()
608 struct PadOpTilingPattern : public OpRewritePattern<tensor::PadOp> {
610 : OpRewritePattern<tensor::PadOp>(ctx), options(std::move(opt)) {} in PadOpTilingPattern()
612 LogicalResult matchAndRewrite(tensor::PadOp op, in matchAndRewrite()
616 tensor::PadOp newPadOp; in matchAndRewrite()
679 tensor::PadOp::getCanonicalizationPatterns(patterns, ctx); in populateLinalgTilingCanonicalizationPatterns()
H A DTransforms.cpp425 auto padOp = opOperand->get().getDefiningOp<tensor::PadOp>(); in returningMatchAndRewrite()
433 tensor::PadOp hoistedOp; in returningMatchAndRewrite()
672 PadOpTransformationPattern::matchAndRewrite(tensor::PadOp padOp, in matchAndRewrite()
735 PatternRewriter &rewriter, tensor::PadOp padOp, Value dest, in createFillOrGenerateOp()
751 GeneralizePadOpPattern::matchAndRewrite(tensor::PadOp padOp, in matchAndRewrite()
819 auto padOp = sliceOp.getSource().getDefiningOp<tensor::PadOp>(); in matchAndRewrite()
H A DVectorization.cpp691 tensor::PadOp padOp, Value dest) { in tryVectorizeCopy()
766 struct VectorizePadOpUserPattern : public OpRewritePattern<tensor::PadOp> {
767 using OpRewritePattern<tensor::PadOp>::OpRewritePattern;
769 LogicalResult matchAndRewrite(tensor::PadOp padOp, in matchAndRewrite()
781 tensor::PadOp padOp, OpTy op) const = 0;
808 LogicalResult rewriteUser(PatternRewriter &rewriter, tensor::PadOp padOp, in rewriteUser()
870 LogicalResult rewriteUser(PatternRewriter &rewriter, tensor::PadOp padOp, in rewriteUser()
1024 LogicalResult rewriteUser(PatternRewriter &rewriter, tensor::PadOp padOp, in rewriteUser()
H A DLinalgStrategyPasses.cpp104 if (anchorOpName == tensor::PadOp::getOperationName()) in runOnOperation()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Tensor/IR/
H A DTensorTilingInterfaceImpl.h21 class PadOp; variable
42 Operation *bubbleUpPadSlice(OpBuilder &b, tensor::PadOp padOp,
H A DTensorOps.td872 // PadOp
882 The PadOp operation supports the following arguments:
1037 // Build a PadOp with mixed static and dynamic entries.
1042 // Build a PadOp with all dynamic entries.
1046 // Build a PadOp with mixed static and dynamic entries and custom
1256 HasParent<"::mlir::tensor::GenerateOp, ::mlir::tensor::PadOp">]> {
/llvm-project-15.0.7/mlir/lib/Dialect/Tensor/Utils/
H A DUtils.cpp21 PadOp mlir::tensor::createPadScalarOp(Type type, Value source, Value pad, in createPadScalarOp()
26 builder.create<PadOp>(loc, type, source, low, high, nofold); in createPadScalarOp()
39 PadOp mlir::tensor::createPadHighOp(RankedTensorType type, Value source, in createPadHighOp()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Tensor/Utils/
H A DUtils.h21 PadOp createPadHighOp(RankedTensorType type, Value source, Value pad,
27 PadOp createPadScalarOp(Type type, Value source, Value pad,
/llvm-project-15.0.7/mlir/lib/Dialect/Tensor/Transforms/
H A DSplitPadding.cpp46 struct SplitPadding final : public OpRewritePattern<tensor::PadOp> {
49 LogicalResult matchAndRewrite(tensor::PadOp padOp, in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Dialect/Tosa/IR/
H A DTosaCanonicalizations.cpp249 struct MaterializePadValue : public OpRewritePattern<tosa::PadOp> {
252 LogicalResult matchAndRewrite(tosa::PadOp op, in matchAndRewrite()
284 rewriter.replaceOpWithNewOp<tosa::PadOp>( in matchAndRewrite()
291 void PadOp::getCanonicalizationPatterns(RewritePatternSet &results, in getCanonicalizationPatterns()
478 OpFoldResult PadOp::fold(ArrayRef<Attribute> operands) { in fold()
/llvm-project-15.0.7/mlir/lib/Dialect/Tosa/Transforms/
H A DTosaDecomposeTransposeConv.cpp205 weight = createOpAndInfer<tosa::PadOp>( in matchAndRewrite()
211 weight = createOpAndInfer<tosa::PadOp>(rewriter, loc, in matchAndRewrite()
269 input = createOpAndInfer<tosa::PadOp>( in matchAndRewrite()
274 input = createOpAndInfer<tosa::PadOp>(rewriter, loc, in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Conversion/TensorToLinalg/
H A DTensorToLinalgPass.cpp32 target.addIllegalOp<mlir::tensor::PadOp>(); in runOnOperation()
/llvm-project-15.0.7/mlir/test/python/dialects/
H A Dtransform_structured_ext.py75 structured.PadOp(
/llvm-project-15.0.7/mlir/python/mlir/dialects/
H A D_structured_transform_ops_ext.py136 class PadOp: class
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Tosa/IR/
H A DTosaOpBase.td116 let summary = "Attribute for PadOp quantization information.";
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/TransformOps/
H A DLinalgTransformOps.cpp521 transform::PadOp::applyToOne(linalg::LinalgOp target, in applyToOne()
582 LogicalResult transform::PadOp::verify() { in verify()
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/IR/
H A DLinalgOps.cpp519 struct FoldFillWithPad final : public OpRewritePattern<tensor::PadOp> {
522 LogicalResult matchAndRewrite(tensor::PadOp padOp, in matchAndRewrite()
564 auto srcPadOp = insertOp.getSource().getDefiningOp<tensor::PadOp>(); in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Conversion/TosaToLinalg/
H A DTosaToLinalg.cpp1833 class PadConverter : public OpRewritePattern<tosa::PadOp> {
1835 using OpRewritePattern<tosa::PadOp>::OpRewritePattern;
1837 LogicalResult matchAndRewrite(tosa::PadOp padOp, in matchAndRewrite()

12