MLIR  17.0.0git
Public Member Functions | List of all members
mlir::RewritePatternSet Class Reference

#include "mlir/IR/PatternMatch.h"

Public Member Functions

 RewritePatternSet (MLIRContext *context)
 
 RewritePatternSet (MLIRContext *context, std::unique_ptr< RewritePattern > pattern)
 Construct a RewritePatternSet populated with the given pattern. More...
 
 RewritePatternSet (PDLPatternModule &&pattern)
 
MLIRContextgetContext () const
 
NativePatternListT & getNativePatterns ()
 Return the native patterns held in this list. More...
 
PDLPatternModulegetPDLPatterns ()
 Return the PDL patterns held in this list. More...
 
void clear ()
 Clear out all of the held patterns in this list. More...
 
template<typename... Ts, typename ConstructorArg , typename... ConstructorArgs, typename = std::enable_if_t<sizeof...(Ts) != 0>>
RewritePatternSetadd (ConstructorArg &&arg, ConstructorArgs &&...args)
 Add an instance of each of the pattern types 'Ts' to the pattern list with the given arguments. More...
 
template<typename... Ts, typename ConstructorArg , typename... ConstructorArgs, typename = std::enable_if_t<sizeof...(Ts) != 0>>
RewritePatternSetaddWithLabel (ArrayRef< StringRef > debugLabels, ConstructorArg &&arg, ConstructorArgs &&...args)
 An overload of the above add method that allows for attaching a set of debug labels to the attached patterns. More...
 
template<typename... Ts>
RewritePatternSetadd ()
 Add an instance of each of the pattern types 'Ts'. More...
 
RewritePatternSetadd (std::unique_ptr< RewritePattern > pattern)
 Add the given native pattern to the pattern list. More...
 
RewritePatternSetadd (PDLPatternModule &&pattern)
 Add the given PDL pattern to the pattern list. More...
 
template<typename OpType >
RewritePatternSetadd (LogicalResult(*implFn)(OpType, PatternRewriter &rewriter), PatternBenefit benefit=1, ArrayRef< StringRef > generatedNames={})
 
template<typename... Ts, typename ConstructorArg , typename... ConstructorArgs, typename = std::enable_if_t<sizeof...(Ts) != 0>>
RewritePatternSetinsert (ConstructorArg &&arg, ConstructorArgs &&...args)
 Add an instance of each of the pattern types 'Ts' to the pattern list with the given arguments. More...
 
template<typename... Ts>
RewritePatternSetinsert ()
 Add an instance of each of the pattern types 'Ts'. More...
 
RewritePatternSetinsert (std::unique_ptr< RewritePattern > pattern)
 Add the given native pattern to the pattern list. More...
 
RewritePatternSetinsert (PDLPatternModule &&pattern)
 Add the given PDL pattern to the pattern list. More...
 
template<typename OpType >
RewritePatternSetinsert (LogicalResult(*implFn)(OpType, PatternRewriter &rewriter))
 

Detailed Description

Definition at line 1642 of file PatternMatch.h.

Constructor & Destructor Documentation

◆ RewritePatternSet() [1/3]

mlir::RewritePatternSet::RewritePatternSet ( MLIRContext context)
inline

Definition at line 1646 of file PatternMatch.h.

◆ RewritePatternSet() [2/3]

mlir::RewritePatternSet::RewritePatternSet ( MLIRContext context,
std::unique_ptr< RewritePattern pattern 
)
inline

Construct a RewritePatternSet populated with the given pattern.

Definition at line 1649 of file PatternMatch.h.

◆ RewritePatternSet() [3/3]

mlir::RewritePatternSet::RewritePatternSet ( PDLPatternModule &&  pattern)
inline

Definition at line 1654 of file PatternMatch.h.

Member Function Documentation

◆ add() [1/5]

template<typename... Ts>
RewritePatternSet& mlir::RewritePatternSet::add ( )
inline

Add an instance of each of the pattern types 'Ts'.

Return a reference to this for chaining insertions.

Definition at line 1710 of file PatternMatch.h.

◆ add() [2/5]

template<typename... Ts, typename ConstructorArg , typename... ConstructorArgs, typename = std::enable_if_t<sizeof...(Ts) != 0>>
RewritePatternSet& mlir::RewritePatternSet::add ( ConstructorArg &&  arg,
ConstructorArgs &&...  args 
)
inline

Add an instance of each of the pattern types 'Ts' to the pattern list with the given arguments.

Return a reference to this for chaining insertions. Note: ConstructorArg is necessary here to separate the two variadic lists.

Definition at line 1682 of file PatternMatch.h.

Referenced by mlir::populateAffineToStdConversionPatterns(), mlir::populateAffineToVectorConversionPatterns(), mlir::populateAMDGPUToROCDLConversionPatterns(), mlir::populateAMXLegalizeForLLVMExportPatterns(), mlir::populateAnyFunctionOpInterfaceTypeConversionPattern(), mlir::arith::populateArithExpandOpsPatterns(), mlir::arith::populateArithIntNarrowingPatterns(), mlir::arith::populateArithToLLVMConversionPatterns(), mlir::arith::populateArithToSPIRVPatterns(), mlir::arith::populateArithWideIntEmulationPatterns(), mlir::populateArmSVELegalizeForLLVMExportPatterns(), mlir::cf::populateAssertToLLVMConversionPattern(), mlir::populateAsyncFuncToAsyncRuntimeConversionPatterns(), mlir::async::populateAsyncParallelForPatterns(), mlir::populateAsyncStructuralTypeConversionsAndLegality(), mlir::linalg::populateBubbleUpExtractSliceOpPatterns(), mlir::vector::populateBubbleVectorBitCastOpPatterns(), mlir::populateBufferizationToMemRefConversionPatterns(), mlir::populateBuiltinFuncToSPIRVPatterns(), mlir::populateCallOpTypeConversionPattern(), mlir::vector::populateCastAwayVectorLeadingOneDimPatterns(), mlir::arith::populateCeilFloorDivExpandOpsPatterns(), mlir::linalg::populateCollapseDimensions(), mlir::populateCommutativityUtilsPatterns(), mlir::populateComplexToLibmConversionPatterns(), mlir::populateComplexToLLVMConversionPatterns(), mlir::populateComplexToSPIRVPatterns(), mlir::populateComplexToStandardConversionPatterns(), mlir::memref::populateComposeSubViewPatterns(), mlir::cf::populateControlFlowToLLVMConversionPatterns(), mlir::cf::populateControlFlowToSPIRVPatterns(), mlir::populateConvertArmNeon2dToIntrPatterns(), mlir::populateConvertShapeConstraintsConversionPatterns(), mlir::linalg::populateConvertToDestinationStylePatterns(), mlir::linalg::populateConvolutionVectorizationPatterns(), mlir::populateDecomposeCallGraphTypesPatterns(), mlir::linalg::populateDecomposeConvolutionPatterns(), mlir::tensor::populateDropRedundantInsertSliceRankExpansionPatterns(), mlir::linalg::populateElementwiseOpsFusionPatterns(), mlir::linalg::populateElementwiseToLinalgConversionPatterns(), mlir::bufferization::populateEliminateBufferizeMaterializationsPatterns(), mlir::arith::populateExpandBFloat16Patterns(), mlir::populateExpandCeilFPattern(), mlir::populateExpandCtlzPattern(), mlir::populateExpandExp2FPattern(), mlir::populateExpandFloorFPattern(), mlir::populateExpandFmaFPattern(), mlir::memref::populateExpandOpsPatterns(), mlir::populateExpandPowFPattern(), mlir::populateExpandRoundEvenPattern(), mlir::populateExpandRoundFPattern(), mlir::memref::populateExpandStridedMetadataPatterns(), mlir::populateExpandTanhPattern(), mlir::populateExpandTanPattern(), mlir::memref::populateExtractAddressComputationsPatterns(), mlir::populateFinalizeMemRefToLLVMConversionPatterns(), mlir::vector::populateFlattenVectorTransferPatterns(), mlir::vector::populateFoldArithExtensionPatterns(), mlir::tensor::populateFoldConstantExtractSlicePatterns(), mlir::memref::populateFoldMemRefAliasOpPatterns(), mlir::linalg::populateFoldReshapeOpsByCollapsingPatterns(), mlir::linalg::populateFoldReshapeOpsByExpansionPatterns(), mlir::tensor::populateFoldTensorEmptyPatterns(), mlir::tensor::populateFoldTensorSubsetOpPatterns(), mlir::linalg::populateFoldUnitExtentDimsViaReshapesPatterns(), mlir::linalg::populateFoldUnitExtentDimsViaSlicesPatterns(), mlir::populateFunctionOpInterfaceTypeConversionPattern(), mlir::populateFuncToLLVMConversionPatterns(), mlir::populateFuncToLLVMFuncOpConversionPattern(), mlir::populateFuncToSPIRVPatterns(), mlir::populateFuncTypeConversionPatterns(), mlir::linalg::populateFuseTensorPadWithProducerLinalgOpPatterns(), mlir::populateGpuAllReducePatterns(), mlir::populateGpuGlobalIdPatterns(), mlir::populateGpuShufflePatterns(), mlir::populateGpuSubgroupReduceOpLoweringPattern(), mlir::populateGpuToLLVMConversionPatterns(), mlir::populateGpuToNVVMConversionPatterns(), mlir::populateGpuToROCDLConversionPatterns(), mlir::populateGPUToSPIRVPatterns(), mlir::populateGpuWMMAToNVVMConversionPatterns(), mlir::populateGpuWMMAToSPIRVConversionPatterns(), mlir::linalg::populateInlineConstantOperandsPatterns(), mlir::arith::populateIntRangeOptimizationsPatterns(), mlir::linalg::populateLinalgNamedOpConversionPatterns(), mlir::linalg::populateLinalgNamedOpsGeneralizationPatterns(), mlir::populateLinalgToLLVMConversionPatterns(), mlir::linalg::populateLinalgToStandardConversionPatterns(), mlir::populateMathAlgebraicSimplificationPatterns(), mlir::populateMathPolynomialApproximationPatterns(), mlir::populateMathToLLVMConversionPatterns(), mlir::populateMathToSPIRVPatterns(), mlir::spirv::populateMemorySpaceToStorageClassPatterns(), mlir::populateMemRefToSPIRVPatterns(), mlir::memref::populateMemRefWideIntEmulationPatterns(), mlir::tensor::populateMergeConsecutiveInsertExtractSlicePatterns(), mlir::nvgpu::populateMmaSyncF32ToTF32Patterns(), mlir::linalg::populateMoveInitOperandsToInputPattern(), mlir::populateNVGPUToNVVMConversionPatterns(), mlir::populateOpenACCToSCFConversionPatterns(), mlir::populateOpenMPToLLVMConversionPatterns(), populateOpPatterns(), mlir::linalg::populatePadOpVectorizationPatterns(), mlir::populateParallelLoopToGPUPatterns(), mlir::populatePostSparsificationRewriting(), mlir::populatePrepareVectorToMMAPatterns(), mlir::populatePreSparsificationRewriting(), mlir::tensor::populateReassociativeReshapeFoldingPatterns(), mlir::populateReconcileUnrealizedCastsPatterns(), mlir::populateRemoveShapeConstraintsPatterns(), mlir::memref::populateResolveExtractStridedMetadataPatterns(), mlir::memref::populateResolveRankedShapedTypeResultDimsPatterns(), mlir::memref::populateResolveShapedTypeResultDimsPatterns(), mlir::populateReturnOpTypeConversionPattern(), mlir::vector::populateScalarVectorTransferLoweringPatterns(), mlir::scf::populateSCFForLoopCanonicalizationPatterns(), mlir::scf::populateSCFLoopPipeliningPatterns(), mlir::scf::populateSCFStructuralOneToNTypeConversions(), mlir::scf::populateSCFStructuralTypeConversionsAndLegality(), mlir::populateSCFToControlFlowConversionPatterns(), mlir::populateSCFToSPIRVPatterns(), mlir::vector::populateShapeCastFoldingPatterns(), mlir::populateShapeRewritePatterns(), mlir::populateShapeToStandardConversionPatterns(), mlir::tensor::populateSimplifyTensorPack(), mlir::populateSparseBufferRewriting(), mlir::populateSparseGPUCodegenPatterns(), mlir::populateSparseGPULibgenPatterns(), mlir::populateSparseTensorCodegenPatterns(), mlir::populateSparseTensorConversionPatterns(), mlir::populateSparseVectorizationPatterns(), mlir::populateSparsificationPatterns(), mlir::x86vector::avx2::populateSpecializedTransposeLoweringPatterns(), mlir::spirv::populateSPIRVExpandExtendedMultiplicationPatterns(), mlir::spirv::populateSPIRVGLCanonicalizationPatterns(), populateSPIRVLayoutInfoPatterns(), mlir::populateSPIRVToLLVMConversionPatterns(), mlir::populateSPIRVToLLVMFunctionConversionPatterns(), mlir::populateSPIRVToLLVMModuleConversionPatterns(), mlir::linalg::populateSplitReductionPattern(), mlir::populateStorageSpecifierToLLVMPatterns(), mlir::linalg::populateSwapExtractSliceWithFillPatterns(), mlir::populateTensorToLinalgPatterns(), mlir::populateTensorToSPIRVPatterns(), mlir::tosa::populateTosaDecomposeConv2D(), mlir::tosa::populateTosaDecomposeDepthwise(), mlir::tosa::populateTosaDecomposeTransposeConv(), mlir::tosa::populateTosaFoldConstantTransposePatterns(), mlir::tosa::populateTosaRescaleToArithConversionPatterns(), mlir::tosa::populateTosaToArithConversionPatterns(), mlir::tosa::populateTosaToLinalgConversionPatterns(), mlir::tosa::populateTosaToLinalgNamedConversionPatterns(), mlir::tosa::populateTosaToSCFConversionPatterns(), mlir::tosa::populateTosaToTensorConversionPatterns(), mlir::vector::populateVectorBroadcastLoweringPatterns(), mlir::vector::populateVectorContractCanonicalizeMatmulToMMT(), mlir::vector::populateVectorContractLoweringPatterns(), mlir::vector::populateVectorExtractStridedSliceToExtractInsertChainPatterns(), mlir::vector::populateVectorGatherLoweringPatterns(), mlir::vector::populateVectorInsertExtractStridedSliceDecompositionPatterns(), mlir::vector::populateVectorInsertExtractStridedSliceTransforms(), mlir::vector::populateVectorMaskLoweringPatternsForSideEffectingOps(), mlir::vector::populateVectorMaskMaterializationPatterns(), mlir::vector::populateVectorMaskOpLoweringPatterns(), mlir::vector::populateVectorMultiReductionLoweringPatterns(), mlir::vector::populateVectorOuterProductLoweringPatterns(), mlir::vector::populateVectorReductionToContractPatterns(), mlir::populateVectorReductionToSPIRVDotProductPatterns(), mlir::vector::populateVectorScanLoweringPatterns(), mlir::vector::populateVectorShapeCastLoweringPatterns(), mlir::populateVectorToLLVMConversionPatterns(), mlir::populateVectorToLLVMMatrixConversionPatterns(), mlir::populateVectorToSCFConversionPatterns(), mlir::populateVectorToSPIRVPatterns(), mlir::vector::populateVectorTransferCollapseInnerMostContiguousDimsPatterns(), mlir::vector::populateVectorTransferDropUnitDimsPatterns(), mlir::vector::populateVectorTransferFullPartialPatterns(), mlir::vector::populateVectorTransferLoweringPatterns(), mlir::vector::populateVectorTransferPermutationMapLoweringPatterns(), mlir::vector::populateVectorTransferTensorSliceTransforms(), mlir::vector::populateVectorTransposeLoweringPatterns(), mlir::vector::populateVectorUnrollPatterns(), mlir::vector::populateWarpExecuteOnLane0OpToScfForPattern(), and mlir::populateX86VectorLegalizeForLLVMExportPatterns().

◆ add() [3/5]

template<typename OpType >
RewritePatternSet& mlir::RewritePatternSet::add ( LogicalResult(*)(OpType, PatternRewriter &rewriter)  implFn,
PatternBenefit  benefit = 1,
ArrayRef< StringRef >  generatedNames = {} 
)
inline

Definition at line 1732 of file PatternMatch.h.

◆ add() [4/5]

RewritePatternSet& mlir::RewritePatternSet::add ( PDLPatternModule &&  pattern)
inline

Add the given PDL pattern to the pattern list.

Return a reference to this for chaining insertions.

Definition at line 1724 of file PatternMatch.h.

References mlir::PDLPatternModule::mergeIn().

◆ add() [5/5]

RewritePatternSet& mlir::RewritePatternSet::add ( std::unique_ptr< RewritePattern pattern)
inline

Add the given native pattern to the pattern list.

Return a reference to this for chaining insertions.

Definition at line 1717 of file PatternMatch.h.

◆ addWithLabel()

template<typename... Ts, typename ConstructorArg , typename... ConstructorArgs, typename = std::enable_if_t<sizeof...(Ts) != 0>>
RewritePatternSet& mlir::RewritePatternSet::addWithLabel ( ArrayRef< StringRef >  debugLabels,
ConstructorArg &&  arg,
ConstructorArgs &&...  args 
)
inline

An overload of the above add method that allows for attaching a set of debug labels to the attached patterns.

This is useful for labeling groups of patterns that may be shared between multiple different passes/users.

Definition at line 1698 of file PatternMatch.h.

◆ clear()

void mlir::RewritePatternSet::clear ( )
inline

Clear out all of the held patterns in this list.

Definition at line 1667 of file PatternMatch.h.

References mlir::PDLPatternModule::clear().

◆ getContext()

MLIRContext* mlir::RewritePatternSet::getContext ( ) const
inline

Definition at line 1658 of file PatternMatch.h.

Referenced by mlir::affine::hoistAffineIfOp(), mlir::affine::populateAffineExpandIndexOpsPatterns(), mlir::populateAffineToStdConversionPatterns(), mlir::populateAffineToVectorConversionPatterns(), mlir::populateAnyFunctionOpInterfaceTypeConversionPattern(), mlir::arith::populateArithExpandOpsPatterns(), mlir::arith::populateArithIntNarrowingPatterns(), mlir::arith::populateArithToSPIRVPatterns(), mlir::arith::populateArithWideIntEmulationPatterns(), mlir::populateAsyncFuncToAsyncRuntimeConversionPatterns(), mlir::async::populateAsyncParallelForPatterns(), mlir::populateAsyncStructuralTypeConversionsAndLegality(), mlir::linalg::populateBubbleUpExtractSliceOpPatterns(), mlir::vector::populateBubbleVectorBitCastOpPatterns(), mlir::populateBufferizationToMemRefConversionPatterns(), mlir::populateBuiltinFuncToSPIRVPatterns(), mlir::populateCallOpTypeConversionPattern(), mlir::vector::populateCastAwayVectorLeadingOneDimPatterns(), mlir::arith::populateCeilFloorDivExpandOpsPatterns(), mlir::linalg::populateCollapseDimensions(), mlir::populateCommutativityUtilsPatterns(), mlir::populateComplexToLibmConversionPatterns(), mlir::populateComplexToSPIRVPatterns(), mlir::populateComplexToStandardConversionPatterns(), mlir::linalg::populateConstantFoldLinalgOperations(), mlir::cf::populateControlFlowToSPIRVPatterns(), mlir::populateConvertArmNeon2dToIntrPatterns(), mlir::linalg::populateConvertConv2DToImg2ColPatterns(), mlir::populateConvertShapeConstraintsConversionPatterns(), mlir::linalg::populateConvolutionVectorizationPatterns(), mlir::linalg::populateDataLayoutPropagationPatterns(), mlir::linalg::populateDecomposeConvolutionPatterns(), mlir::linalg::populateDecomposeLinalgOpsPattern(), mlir::tensor::populateDropRedundantInsertSliceRankExpansionPatterns(), mlir::linalg::populateElementwiseOpsFusionPatterns(), mlir::linalg::populateElementwiseToLinalgConversionPatterns(), mlir::bufferization::populateEliminateBufferizeMaterializationsPatterns(), mlir::bufferization::populateEmptyTensorToAllocTensorPattern(), mlir::linalg::populateEraseUnnecessaryInputsPatterns(), mlir::linalg::populateEraseUnusedOperandsAndResultsPatterns(), mlir::arith::populateExpandBFloat16Patterns(), mlir::memref::populateExpandOpsPatterns(), mlir::memref::populateExpandStridedMetadataPatterns(), mlir::memref::populateExtractAddressComputationsPatterns(), mlir::vector::populateFlattenVectorTransferPatterns(), mlir::vector::populateFoldArithExtensionPatterns(), mlir::tensor::populateFoldConstantExtractSlicePatterns(), mlir::tensor::populateFoldIntoPackAndUnpackPatterns(), mlir::memref::populateFoldMemRefAliasOpPatterns(), mlir::linalg::populateFoldReshapeOpsByCollapsingPatterns(), mlir::linalg::populateFoldReshapeOpsByExpansionPatterns(), mlir::tensor::populateFoldTensorEmptyPatterns(), mlir::tensor::populateFoldTensorSubsetOpPatterns(), mlir::linalg::populateFoldUnitExtentDimsViaReshapesPatterns(), mlir::linalg::populateFoldUnitExtentDimsViaSlicesPatterns(), mlir::populateFunctionOpInterfaceTypeConversionPattern(), mlir::populateFuncToSPIRVPatterns(), mlir::populateFuncTypeConversionPatterns(), mlir::linalg::populateFuseTensorPadWithProducerLinalgOpPatterns(), mlir::populateGpuAllReducePatterns(), mlir::populateGpuGlobalIdPatterns(), mlir::populateGpuShufflePatterns(), mlir::populateGPUToSPIRVPatterns(), mlir::populateGpuWMMAToSPIRVConversionPatterns(), mlir::linalg::populateInlineConstantOperandsPatterns(), mlir::arith::populateIntRangeOptimizationsPatterns(), mlir::linalg::populateLinalgNamedOpConversionPatterns(), mlir::linalg::populateLinalgNamedOpsGeneralizationPatterns(), mlir::linalg::populateLinalgTilingCanonicalizationPatterns(), mlir::linalg::populateLinalgToStandardConversionPatterns(), mlir::populateMathAlgebraicSimplificationPatterns(), mlir::populateMathPolynomialApproximationPatterns(), mlir::populateMathToLibmConversionPatterns(), mlir::populateMathToSPIRVPatterns(), mlir::spirv::populateMemorySpaceToStorageClassPatterns(), mlir::populateMemRefToSPIRVPatterns(), mlir::memref::populateMemRefWideIntEmulationPatterns(), mlir::tensor::populateMergeConsecutiveInsertExtractSlicePatterns(), mlir::nvgpu::populateMmaSyncF32ToTF32Patterns(), mlir::linalg::populateMoveInitOperandsToInputPattern(), mlir::populateOpenACCToSCFConversionPatterns(), mlir::linalg::populatePadOpVectorizationPatterns(), mlir::populateParallelLoopToGPUPatterns(), mlir::populatePostSparsificationRewriting(), mlir::populatePrepareVectorToMMAPatterns(), mlir::populatePreSparsificationRewriting(), mlir::tensor::populateReassociativeReshapeFoldingPatterns(), mlir::populateReconcileUnrealizedCastsPatterns(), mlir::populateRemoveShapeConstraintsPatterns(), mlir::memref::populateResolveExtractStridedMetadataPatterns(), mlir::memref::populateResolveRankedShapedTypeResultDimsPatterns(), mlir::memref::populateResolveShapedTypeResultDimsPatterns(), mlir::populateReturnOpTypeConversionPattern(), mlir::vector::populateScalarVectorTransferLoweringPatterns(), mlir::scf::populateSCFForLoopCanonicalizationPatterns(), mlir::scf::populateSCFLoopPipeliningPatterns(), mlir::scf::populateSCFStructuralOneToNTypeConversions(), mlir::scf::populateSCFStructuralTypeConversionsAndLegality(), mlir::populateSCFToControlFlowConversionPatterns(), mlir::populateSCFToSPIRVPatterns(), mlir::vector::populateShapeCastFoldingPatterns(), mlir::populateShapeRewritePatterns(), mlir::populateShapeToStandardConversionPatterns(), mlir::tensor::populateSimplifyTensorPack(), mlir::populateSparseBufferRewriting(), mlir::populateSparseGPUCodegenPatterns(), mlir::populateSparseGPULibgenPatterns(), mlir::populateSparseTensorCodegenPatterns(), mlir::populateSparseTensorConversionPatterns(), mlir::populateSparseVectorizationPatterns(), mlir::populateSparsificationPatterns(), mlir::x86vector::avx2::populateSpecializedTransposeLoweringPatterns(), mlir::spirv::populateSPIRVExpandExtendedMultiplicationPatterns(), mlir::spirv::populateSPIRVGLCanonicalizationPatterns(), populateSPIRVLayoutInfoPatterns(), mlir::populateSPIRVToLLVMConversionPatterns(), mlir::populateSPIRVToLLVMFunctionConversionPatterns(), mlir::populateSPIRVToLLVMModuleConversionPatterns(), mlir::linalg::populateSplitReductionPattern(), mlir::populateStorageSpecifierToLLVMPatterns(), mlir::linalg::populateSwapExtractSliceWithFillPatterns(), mlir::populateTensorToLinalgPatterns(), mlir::populateTensorToSPIRVPatterns(), mlir::tosa::populateTosaRescaleToArithConversionPatterns(), mlir::tosa::populateTosaToArithConversionPatterns(), mlir::tosa::populateTosaToLinalgConversionPatterns(), mlir::tosa::populateTosaToLinalgNamedConversionPatterns(), mlir::tosa::populateTosaToSCFConversionPatterns(), mlir::tosa::populateTosaToTensorConversionPatterns(), mlir::vector::populateVectorBroadcastLoweringPatterns(), mlir::vector::populateVectorContractCanonicalizeMatmulToMMT(), mlir::vector::populateVectorContractLoweringPatterns(), mlir::vector::populateVectorExtractStridedSliceToExtractInsertChainPatterns(), mlir::vector::populateVectorGatherLoweringPatterns(), mlir::vector::populateVectorInsertExtractStridedSliceDecompositionPatterns(), mlir::vector::populateVectorInsertExtractStridedSliceTransforms(), mlir::vector::populateVectorMaskLoweringPatternsForSideEffectingOps(), mlir::vector::populateVectorMaskMaterializationPatterns(), mlir::vector::populateVectorMaskOpLoweringPatterns(), mlir::vector::populateVectorMultiReductionLoweringPatterns(), mlir::vector::populateVectorOuterProductLoweringPatterns(), mlir::vector::populateVectorReductionToContractPatterns(), mlir::populateVectorReductionToSPIRVDotProductPatterns(), mlir::vector::populateVectorScanLoweringPatterns(), mlir::vector::populateVectorShapeCastLoweringPatterns(), mlir::populateVectorToSCFConversionPatterns(), mlir::populateVectorToSPIRVPatterns(), mlir::vector::populateVectorTransferCollapseInnerMostContiguousDimsPatterns(), mlir::vector::populateVectorTransferDropUnitDimsPatterns(), mlir::vector::populateVectorTransferFullPartialPatterns(), mlir::vector::populateVectorTransferLoweringPatterns(), mlir::vector::populateVectorTransferPermutationMapLoweringPatterns(), mlir::vector::populateVectorTransferTensorSliceTransforms(), mlir::vector::populateVectorTransposeLoweringPatterns(), mlir::vector::populateVectorUnrollPatterns(), and mlir::vector::populateWarpExecuteOnLane0OpToScfForPattern().

◆ getNativePatterns()

NativePatternListT& mlir::RewritePatternSet::getNativePatterns ( )
inline

Return the native patterns held in this list.

Definition at line 1661 of file PatternMatch.h.

◆ getPDLPatterns()

PDLPatternModule& mlir::RewritePatternSet::getPDLPatterns ( )
inline

Return the PDL patterns held in this list.

Definition at line 1664 of file PatternMatch.h.

Referenced by mlir::registerConversionPDLFunctions().

◆ insert() [1/5]

template<typename... Ts>
RewritePatternSet& mlir::RewritePatternSet::insert ( )
inline

Add an instance of each of the pattern types 'Ts'.

Return a reference to this for chaining insertions.

Definition at line 1776 of file PatternMatch.h.

◆ insert() [2/5]

template<typename... Ts, typename ConstructorArg , typename... ConstructorArgs, typename = std::enable_if_t<sizeof...(Ts) != 0>>
RewritePatternSet& mlir::RewritePatternSet::insert ( ConstructorArg &&  arg,
ConstructorArgs &&...  args 
)
inline

◆ insert() [3/5]

template<typename OpType >
RewritePatternSet& mlir::RewritePatternSet::insert ( LogicalResult(*)(OpType, PatternRewriter &rewriter)  implFn)
inline

Definition at line 1798 of file PatternMatch.h.

◆ insert() [4/5]

RewritePatternSet& mlir::RewritePatternSet::insert ( PDLPatternModule &&  pattern)
inline

Add the given PDL pattern to the pattern list.

Return a reference to this for chaining insertions.

Definition at line 1790 of file PatternMatch.h.

References mlir::PDLPatternModule::mergeIn().

◆ insert() [5/5]

RewritePatternSet& mlir::RewritePatternSet::insert ( std::unique_ptr< RewritePattern pattern)
inline

Add the given native pattern to the pattern list.

Return a reference to this for chaining insertions.

Definition at line 1783 of file PatternMatch.h.


The documentation for this class was generated from the following file: