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 1563 of file PatternMatch.h.

Constructor & Destructor Documentation

◆ RewritePatternSet() [1/3]

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

Definition at line 1567 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 1570 of file PatternMatch.h.

◆ RewritePatternSet() [3/3]

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

Definition at line 1575 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 1631 of file PatternMatch.h.

Referenced by insert().

◆ 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 1603 of file PatternMatch.h.

Referenced by mlir::populateAffineToStdConversionPatterns(), mlir::populateAffineToVectorConversionPatterns(), mlir::populateAMDGPUToROCDLConversionPatterns(), mlir::populateAMXLegalizeForLLVMExportPatterns(), mlir::populateAnyFunctionOpInterfaceTypeConversionPattern(), mlir::arith::populateArithExpandOpsPatterns(), 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::populateComplexToStandardConversionPatterns(), mlir::memref::populateComposeSubViewPatterns(), mlir::cf::populateControlFlowToLLVMConversionPatterns(), mlir::cf::populateControlFlowToSPIRVPatterns(), mlir::populateConvertArmNeon2dToIntrPatterns(), mlir::populateConvertShapeConstraintsConversionPatterns(), mlir::linalg::populateConvolutionVectorizationPatterns(), mlir::populateDecomposeCallGraphTypesPatterns(), mlir::linalg::populateDecomposeConvolutionPatterns(), mlir::linalg::populateElementwiseOpsFusionPatterns(), mlir::linalg::populateElementwiseToLinalgConversionPatterns(), mlir::bufferization::populateEliminateBufferizeMaterializationsPatterns(), mlir::populateExpandCtlzPattern(), mlir::memref::populateExpandOpsPatterns(), mlir::memref::populateExpandStridedMetadataPatterns(), mlir::populateExpandTanhPattern(), mlir::populateFinalizeMemRefToLLVMConversionPatterns(), mlir::vector::populateFlattenVectorTransferPatterns(), mlir::tensor::populateFoldConstantExtractSlicePatterns(), mlir::memref::populateFoldMemRefAliasOpPatterns(), mlir::linalg::populateFoldReshapeOpsByCollapsingPatterns(), mlir::linalg::populateFoldReshapeOpsByExpansionPatterns(), mlir::tensor::populateFoldTensorEmptyPatterns(), mlir::linalg::populateFoldUnitExtentDimsViaReshapesPatterns(), mlir::linalg::populateFoldUnitExtentDimsViaSlicesPatterns(), mlir::populateFunctionOpInterfaceTypeConversionPattern(), mlir::populateFuncToLLVMConversionPatterns(), mlir::populateFuncToLLVMFuncOpConversionPattern(), mlir::populateFuncToSPIRVPatterns(), mlir::linalg::populateFuseTensorPadWithProducerLinalgOpPatterns(), mlir::populateGpuAllReducePatterns(), 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::populateMathToLibmConversionPatterns(), mlir::populateMathToLLVMConversionPatterns(), mlir::populateMathToSPIRVPatterns(), mlir::gpu::populateMemorySpaceLoweringPatterns(), mlir::spirv::populateMemorySpaceToStorageClassPatterns(), mlir::populateMemRefToSPIRVPatterns(), mlir::memref::populateMemRefWideIntEmulationPatterns(), mlir::tensor::populateMergeConsecutiveInsertExtractSlicePatterns(), mlir::nvgpu::populateMmaSyncF32ToTF32Patterns(), mlir::linalg::populateMoveInitOperandsToInputPattern(), mlir::populateNVGPUToNVVMConversionPatterns(), mlir::populateOpenACCToLLVMConversionPatterns(), mlir::populateOpenACCToSCFConversionPatterns(), mlir::populateOpenMPToLLVMConversionPatterns(), populateOpPatterns(), mlir::linalg::populatePadOpVectorizationPatterns(), mlir::linalg::populatePadTensorTilingPatterns(), mlir::populateParallelLoopToGPUPatterns(), mlir::populatePostSparsificationRewriting(), mlir::populatePrepareVectorToMMAPatterns(), mlir::populatePreSparsificationRewriting(), mlir::tensor::populateReassociativeReshapeFoldingPatterns(), mlir::populateReconcileUnrealizedCastsPatterns(), mlir::populateRemoveShapeConstraintsPatterns(), mlir::memref::populateResolveRankedShapeTypeResultDimsPatterns(), mlir::memref::populateResolveShapedTypeResultDimsPatterns(), mlir::populateReturnOpTypeConversionPattern(), mlir::vector::populateScalarVectorTransferLoweringPatterns(), mlir::scf::populateSCFForLoopCanonicalizationPatterns(), mlir::scf::populateSCFLoopPipeliningPatterns(), mlir::scf::populateSCFStructuralTypeConversionsAndLegality(), mlir::populateSCFToControlFlowConversionPatterns(), mlir::populateSCFToSPIRVPatterns(), mlir::vector::populateShapeCastFoldingPatterns(), mlir::populateShapeRewritePatterns(), mlir::populateShapeToStandardConversionPatterns(), mlir::tensor::populateSimplifyTensorPack(), mlir::populateSparseBufferRewriting(), 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::tensor::populateSplitPaddingPatterns(), 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::populateVectorContractLoweringPatterns(), mlir::vector::populateVectorExtractStridedSliceToExtractInsertChainPatterns(), mlir::vector::populateVectorInsertExtractStridedSliceDecompositionPatterns(), mlir::vector::populateVectorInsertExtractStridedSliceTransforms(), mlir::vector::populateVectorMaskLoweringPatternsForSideEffectingOps(), mlir::vector::populateVectorMaskMaterializationPatterns(), mlir::vector::populateVectorMaskOpLoweringPatterns(), mlir::vector::populateVectorMultiReductionLoweringPatterns(), mlir::vector::populateVectorReductionToContractPatterns(), mlir::vector::populateVectorScanLoweringPatterns(), mlir::vector::populateVectorShapeCastLoweringPatterns(), mlir::populateVectorToLLVMConversionPatterns(), mlir::populateVectorToLLVMMatrixConversionPatterns(), mlir::populateVectorToSCFConversionPatterns(), mlir::populateVectorToSPIRVPatterns(), mlir::vector::populateVectorTransferCollapseInnerMostContiguousDimsPatterns(), mlir::vector::populateVectorTransferDropUnitDimsPatterns(), mlir::vector::populateVectorTransferLoweringPatterns(), mlir::vector::populateVectorTransferPermutationMapLoweringPatterns(), 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 1653 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 1645 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 1638 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 1619 of file PatternMatch.h.

◆ clear()

void mlir::RewritePatternSet::clear ( )
inline

Clear out all of the held patterns in this list.

Definition at line 1588 of file PatternMatch.h.

References mlir::PDLPatternModule::clear().

◆ getContext()

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

Definition at line 1579 of file PatternMatch.h.

Referenced by mlir::affineForOpBodySkew(), mlir::hoistAffineIfOp(), mlir::linalg::hoistRedundantVectorTransfersOnTensor(), insert(), mlir::populateAffineExpandIndexOpsPatterns(), mlir::populateAffineToStdConversionPatterns(), mlir::populateAffineToVectorConversionPatterns(), mlir::populateAnyFunctionOpInterfaceTypeConversionPattern(), mlir::arith::populateArithExpandOpsPatterns(), 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::populateComplexToStandardConversionPatterns(), mlir::linalg::populateConstantFoldLinalgOperations(), mlir::cf::populateControlFlowToSPIRVPatterns(), mlir::populateConvertArmNeon2dToIntrPatterns(), mlir::populateConvertShapeConstraintsConversionPatterns(), mlir::linalg::populateConvertToDestinationStylePatterns(), mlir::linalg::populateConvolutionVectorizationPatterns(), mlir::linalg::populateDataLayoutPropagationPatterns(), mlir::linalg::populateDecomposeConvolutionPatterns(), mlir::linalg::populateDecomposeLinalgOpsPattern(), mlir::linalg::populateElementwiseOpsFusionPatterns(), mlir::linalg::populateElementwiseToLinalgConversionPatterns(), mlir::bufferization::populateEliminateBufferizeMaterializationsPatterns(), mlir::bufferization::populateEmptyTensorToAllocTensorPattern(), mlir::linalg::populateEraseUnnecessaryInputsPatterns(), mlir::linalg::populateEraseUnusedOperandsAndResultsPatterns(), mlir::memref::populateExpandOpsPatterns(), mlir::memref::populateExpandStridedMetadataPatterns(), mlir::vector::populateFlattenVectorTransferPatterns(), mlir::tensor::populateFoldConstantExtractSlicePatterns(), mlir::tensor::populateFoldIntoPackAndUnpackPatterns(), mlir::memref::populateFoldMemRefAliasOpPatterns(), mlir::linalg::populateFoldReshapeOpsByCollapsingPatterns(), mlir::linalg::populateFoldReshapeOpsByExpansionPatterns(), mlir::tensor::populateFoldTensorEmptyPatterns(), mlir::linalg::populateFoldUnitExtentDimsViaReshapesPatterns(), mlir::linalg::populateFoldUnitExtentDimsViaSlicesPatterns(), mlir::populateFunctionOpInterfaceTypeConversionPattern(), mlir::populateFuncToSPIRVPatterns(), mlir::linalg::populateFuseTensorPadWithProducerLinalgOpPatterns(), mlir::populateGpuAllReducePatterns(), 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::gpu::populateMemorySpaceLoweringPatterns(), mlir::spirv::populateMemorySpaceToStorageClassPatterns(), mlir::populateMemRefToSPIRVPatterns(), mlir::memref::populateMemRefWideIntEmulationPatterns(), mlir::tensor::populateMergeConsecutiveInsertExtractSlicePatterns(), mlir::nvgpu::populateMmaSyncF32ToTF32Patterns(), mlir::linalg::populateMoveInitOperandsToInputPattern(), mlir::populateOpenACCToSCFConversionPatterns(), mlir::linalg::populatePadOpVectorizationPatterns(), mlir::linalg::populatePadTensorTilingPatterns(), mlir::populateParallelLoopToGPUPatterns(), mlir::populatePostSparsificationRewriting(), mlir::populatePrepareVectorToMMAPatterns(), mlir::populatePreSparsificationRewriting(), mlir::tensor::populateReassociativeReshapeFoldingPatterns(), mlir::populateReconcileUnrealizedCastsPatterns(), mlir::populateRemoveShapeConstraintsPatterns(), mlir::memref::populateResolveRankedShapeTypeResultDimsPatterns(), mlir::memref::populateResolveShapedTypeResultDimsPatterns(), mlir::populateReturnOpTypeConversionPattern(), mlir::vector::populateScalarVectorTransferLoweringPatterns(), mlir::scf::populateSCFForLoopCanonicalizationPatterns(), mlir::scf::populateSCFLoopPipeliningPatterns(), mlir::scf::populateSCFStructuralTypeConversionsAndLegality(), mlir::populateSCFToControlFlowConversionPatterns(), mlir::populateSCFToSPIRVPatterns(), mlir::vector::populateShapeCastFoldingPatterns(), mlir::populateShapeRewritePatterns(), mlir::populateShapeToStandardConversionPatterns(), mlir::tensor::populateSimplifyTensorPack(), mlir::populateSparseBufferRewriting(), 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::tensor::populateSplitPaddingPatterns(), 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::populateVectorContractLoweringPatterns(), mlir::vector::populateVectorExtractStridedSliceToExtractInsertChainPatterns(), mlir::vector::populateVectorInsertExtractStridedSliceDecompositionPatterns(), mlir::vector::populateVectorInsertExtractStridedSliceTransforms(), mlir::vector::populateVectorMaskLoweringPatternsForSideEffectingOps(), mlir::vector::populateVectorMaskMaterializationPatterns(), mlir::vector::populateVectorMaskOpLoweringPatterns(), mlir::vector::populateVectorMultiReductionLoweringPatterns(), mlir::vector::populateVectorReductionToContractPatterns(), mlir::vector::populateVectorScanLoweringPatterns(), mlir::vector::populateVectorShapeCastLoweringPatterns(), mlir::populateVectorToSCFConversionPatterns(), mlir::populateVectorToSPIRVPatterns(), mlir::vector::populateVectorTransferCollapseInnerMostContiguousDimsPatterns(), mlir::vector::populateVectorTransferDropUnitDimsPatterns(), mlir::vector::populateVectorTransferLoweringPatterns(), mlir::vector::populateVectorTransferPermutationMapLoweringPatterns(), 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 1582 of file PatternMatch.h.

◆ getPDLPatterns()

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

Return the PDL patterns held in this list.

Definition at line 1585 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 1697 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 1719 of file PatternMatch.h.

References add(), and getContext().

◆ 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 1711 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 1704 of file PatternMatch.h.


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