MLIR
20.0.0git
|
#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) | |
MLIRContext * | getContext () const |
NativePatternListT & | getNativePatterns () |
Return the native patterns held in this list. More... | |
PDLPatternModule & | getPDLPatterns () |
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>> | |
RewritePatternSet & | add (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>> | |
RewritePatternSet & | addWithLabel (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> | |
RewritePatternSet & | add () |
Add an instance of each of the pattern types 'Ts'. More... | |
RewritePatternSet & | add (std::unique_ptr< RewritePattern > pattern) |
Add the given native pattern to the pattern list. More... | |
RewritePatternSet & | add (PDLPatternModule &&pattern) |
Add the given PDL pattern to the pattern list. More... | |
template<typename OpType > | |
RewritePatternSet & | add (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>> | |
RewritePatternSet & | insert (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> | |
RewritePatternSet & | insert () |
Add an instance of each of the pattern types 'Ts'. More... | |
RewritePatternSet & | insert (std::unique_ptr< RewritePattern > pattern) |
Add the given native pattern to the pattern list. More... | |
RewritePatternSet & | insert (PDLPatternModule &&pattern) |
Add the given PDL pattern to the pattern list. More... | |
template<typename OpType > | |
RewritePatternSet & | insert (LogicalResult(*implFn)(OpType, PatternRewriter &rewriter)) |
Definition at line 814 of file PatternMatch.h.
|
inline |
Definition at line 818 of file PatternMatch.h.
|
inline |
Construct a RewritePatternSet populated with the given pattern.
Definition at line 821 of file PatternMatch.h.
|
inline |
Definition at line 826 of file PatternMatch.h.
|
inline |
Add an instance of each of the pattern types 'Ts'.
Return a reference to this
for chaining insertions.
Definition at line 881 of file PatternMatch.h.
Referenced by insert().
|
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 853 of file PatternMatch.h.
Referenced by mlir::populateAffineToStdConversionPatterns(), mlir::populateAffineToVectorConversionPatterns(), mlir::mesh::populateAllReduceEndomorphismSimplificationPatterns(), mlir::mesh::populateAllSliceOpLoweringPatterns(), mlir::amdgpu::populateAmdgpuEmulateAtomicsPatterns(), mlir::populateAMDGPUToROCDLConversionPatterns(), mlir::populateAMXLegalizeForLLVMExportPatterns(), mlir::populateAnyFunctionOpInterfaceTypeConversionPattern(), mlir::arith::populateArithExpandOpsPatterns(), mlir::arith::populateArithToAMDGPUConversionPatterns(), mlir::arith::populateArithToArmSMEConversionPatterns(), mlir::populateArithToEmitCPatterns(), mlir::arith::populateArithToLLVMConversionPatterns(), mlir::arith::populateArithToSPIRVPatterns(), mlir::arith::populateArithWideIntEmulationPatterns(), mlir::populateArmSMEToSCFConversionPatterns(), mlir::populateArmSVELegalizeForLLVMExportPatterns(), mlir::cf::populateAssertToLLVMConversionPattern(), mlir::populateAsyncFuncToAsyncRuntimeConversionPatterns(), mlir::async::populateAsyncParallelForPatterns(), mlir::populateAsyncStructuralTypeConversionsAndLegality(), mlir::linalg::populateBlockPackMatmulPatterns(), mlir::vector::populateBreakDownVectorReductionPatterns(), mlir::tensor::populateBubbleUpExpandShapePatterns(), mlir::linalg::populateBubbleUpExtractSliceOpPatterns(), mlir::vector::populateBubbleVectorBitCastOpPatterns(), mlir::bufferization::populateBufferizationDeallocLoweringPattern(), mlir::populateBuiltinFuncToSPIRVPatterns(), mlir::populateCallOpTypeConversionPattern(), mlir::vector::populateCastAwayVectorLeadingOneDimPatterns(), mlir::arith::populateCeilFloorDivExpandOpsPatterns(), mlir::vector::populateChainedVectorReductionFoldingPatterns(), mlir::linalg::populateCollapseDimensions(), mlir::populateCommutativityUtilsPatterns(), mlir::populateComplexToLibmConversionPatterns(), mlir::populateComplexToLLVMConversionPatterns(), mlir::populateComplexToSPIRVPatterns(), mlir::populateComplexToStandardConversionPatterns(), mlir::memref::populateComposeSubViewPatterns(), mlir::linalg::populateContractionOpRankReducingPatterns(), mlir::cf::populateControlFlowToLLVMConversionPatterns(), mlir::cf::populateControlFlowToSPIRVPatterns(), mlir::populateConvertArmNeon2dToIntrPatterns(), mlir::populateConvertShapeConstraintsConversionPatterns(), mlir::linalg::populateConvertToDestinationStylePatterns(), mlir::linalg::populateConvolutionVectorizationPatterns(), mlir::bufferization::populateDeallocOpCanonicalizationPatterns(), mlir::populateDecomposeCallGraphTypesPatterns(), mlir::linalg::populateDecomposeConvolutionPatterns(), mlir::tensor::populateDecomposeTensorConcatPatterns(), mlir::tensor::populateDropRedundantInsertSliceRankExpansionPatterns(), mlir::vector::populateDropUnitDimWithShapeCastPatterns(), mlir::linalg::populateElementwiseOpsFusionPatterns(), mlir::linalg::populateElementwiseToLinalgConversionPatterns(), mlir::vector::populateElementwiseToVectorOpsPatterns(), mlir::bufferization::populateEliminateBufferizeMaterializationsPatterns(), mlir::arith::populateEmulateUnsupportedFloatsPatterns(), mlir::populateExpandAcoshPattern(), mlir::populateExpandAsinhPattern(), mlir::populateExpandAtanhPattern(), mlir::arith::populateExpandBFloat16Patterns(), mlir::populateExpandCeilFPattern(), mlir::populateExpandCoshPattern(), mlir::populateExpandCtlzPattern(), mlir::populateExpandExp2FPattern(), mlir::populateExpandFloorFPattern(), mlir::populateExpandFmaFPattern(), mlir::populateExpandFPowIPattern(), mlir::memref::populateExpandOpsPatterns(), mlir::populateExpandPowFPattern(), mlir::memref::populateExpandReallocPatterns(), mlir::populateExpandRoundEvenPattern(), mlir::populateExpandRoundFPattern(), mlir::populateExpandRsqrtPattern(), mlir::populateExpandSinhPattern(), mlir::populateExpandTanhPattern(), mlir::populateExpandTanPattern(), mlir::emitc::populateExpressionPatterns(), mlir::math::populateExtendToSupportedTypesPatterns(), mlir::memref::populateExtractAddressComputationsPatterns(), mlir::populateFinalizeMemRefToLLVMConversionPatterns(), mlir::vector::populateFlattenVectorTransferPatterns(), mlir::linalg::populateFoldAddIntoDestPatterns(), mlir::vector::populateFoldArithExtensionPatterns(), mlir::tensor::populateFoldConstantExtractSlicePatterns(), mlir::mesh::populateFoldingPatterns(), mlir::memref::populateFoldMemRefAliasOpPatterns(), mlir::linalg::populateFoldReshapeOpsByCollapsingPatterns(), mlir::linalg::populateFoldReshapeOpsByExpansionPatterns(), mlir::tensor::populateFoldTensorEmptyPatterns(), mlir::tensor::populateFoldTensorSubsetIntoVectorTransferPatterns(), mlir::tensor::populateFoldTensorSubsetOpPatterns(), populateFoldUnitExtentDimsViaReshapesPatterns(), populateFoldUnitExtentDimsViaSlicesPatterns(), mlir::populateFuncOpVectorRewritePatterns(), mlir::populateFunctionOpInterfaceTypeConversionPattern(), mlir::populateFuncToEmitCPatterns(), mlir::populateFuncToLLVMConversionPatterns(), mlir::populateFuncToLLVMFuncOpConversionPattern(), mlir::populateFuncToSPIRVPatterns(), mlir::populateFuncTypeConversionPatterns(), mlir::linalg::populateFuseTensorPadWithProducerLinalgOpPatterns(), mlir::linalg::populateGeneralizePatterns(), mlir::populateGpuAllReducePatterns(), mlir::populateGpuBreakDownSubgroupReducePatterns(), mlir::populateGpuGlobalIdPatterns(), mlir::populateGpuLowerClusteredSubgroupReduceToShufflePatterns(), mlir::populateGpuLowerSubgroupReduceToShufflePatterns(), mlir::populateGpuShufflePatterns(), mlir::populateGpuSubgroupReduceOpLoweringPattern(), mlir::populateGpuToLLVMConversionPatterns(), mlir::populateGpuToLLVMSPVConversionPatterns(), mlir::populateGpuToNVVMConversionPatterns(), mlir::populateGPUToSPIRVPatterns(), mlir::populateGpuWMMAToNVVMConversionPatterns(), mlir::populateGpuWMMAToSPIRVCoopMatrixKHRConversionPatterns(), mlir::index::populateIndexToSPIRVPatterns(), mlir::linalg::populateInlineConstantOperandsPatterns(), mlir::linalg::populateInsertSliceVectorizationPatterns(), mlir::arith::populateIntRangeNarrowingPatterns(), mlir::arith::populateIntRangeOptimizationsPatterns(), mlir::arm_sve::populateLegalizeVectorStoragePatterns(), mlir::linalg::populateLinalgGenericOpsSpecializationPatterns(), mlir::linalg::populateLinalgNamedOpConversionPatterns(), mlir::linalg::populateLinalgNamedOpsGeneralizationPatterns(), mlir::linalg::populateLinalgToStandardConversionPatterns(), mlir::arm_neon::populateLowerContractionToSMMLAPatternPatterns(), mlir::populateLowerForeachToSCFPatterns(), mlir::quant::populateLowerQuantOpsPatterns(), mlir::populateLowerSparseIterationToSCFPatterns(), mlir::populateLowerSparseOpsToForeachPatterns(), mlir::populateMathAlgebraicSimplificationPatterns(), mlir::populateMathPolynomialApproximationPatterns(), mlir::populateMathToLLVMConversionPatterns(), mlir::populateMathToSPIRVPatterns(), mlir::memref::populateMemRefNarrowTypeEmulationPatterns(), mlir::populateMemRefToEmitCConversionPatterns(), mlir::populateMemRefToSPIRVPatterns(), mlir::memref::populateMemRefWideIntEmulationPatterns(), mlir::tensor::populateMergeConsecutiveInsertExtractSlicePatterns(), mlir::nvgpu::populateMmaSyncF32ToTF32Patterns(), mlir::linalg::populateMoveInitOperandsToInputPattern(), mlir::populateNVGPUToNVVMConversionPatterns(), mlir::populateNVVMToLLVMConversionPatterns(), mlir::populateOneToNFunctionOpInterfaceTypeConversionPattern(), mlir::populateOpenACCToSCFConversionPatterns(), mlir::populateOpenMPToLLVMConversionPatterns(), populateOpPatterns(), mlir::arm_sme::populateOuterProductFusionPatterns(), mlir::linalg::populatePadOpVectorizationPatterns(), mlir::populateParallelLoopToGPUPatterns(), mlir::populatePolynomialApproximateErfPattern(), mlir::populatePolynomialApproximateTanhPattern(), mlir::populatePrepareVectorToMMAPatterns(), mlir::populatePreSparsificationRewriting(), mlir::mesh::populateProcessMultiIndexOpLoweringPatterns(), mlir::tensor::populateReassociativeReshapeFoldingPatterns(), mlir::populateRemoveShapeConstraintsPatterns(), mlir::memref::populateResolveRankedShapedTypeResultDimsPatterns(), mlir::memref::populateResolveShapedTypeResultDimsPatterns(), mlir::populateReturnOpTypeConversionPattern(), mlir::populateReturnOpVectorRewritePatterns(), mlir::tensor::populateRewriteAsConstantPatterns(), mlir::vector::populateScalarVectorTransferLoweringPatterns(), mlir::scf::populateSCFForLoopCanonicalizationPatterns(), mlir::scf::populateSCFLoopPipeliningPatterns(), mlir::scf::populateSCFRotateWhileLoopPatterns(), mlir::scf::populateSCFStructuralOneToNTypeConversions(), mlir::scf::populateSCFStructuralTypeConversions(), mlir::populateSCFToControlFlowConversionPatterns(), mlir::populateSCFToEmitCConversionPatterns(), mlir::populateSCFToSPIRVPatterns(), mlir::vector::populateShapeCastFoldingPatterns(), mlir::populateShapeRewritePatterns(), mlir::populateShapeToStandardConversionPatterns(), mlir::tensor::populateSimplifyPackAndUnpackPatterns(), mlir::vector::populateSinkVectorOpsPatterns(), mlir::populateSparseAssembler(), mlir::populateSparseBufferRewriting(), mlir::populateSparseGPUCodegenPatterns(), mlir::populateSparseGPULibgenPatterns(), mlir::populateSparseReinterpretMap(), mlir::populateSparseTensorCodegenPatterns(), mlir::populateSparseTensorConversionPatterns(), mlir::populateSparseVectorizationPatterns(), mlir::populateSparsificationPatterns(), mlir::x86vector::avx2::populateSpecializedTransposeLoweringPatterns(), mlir::spirv::populateSPIRVExpandExtendedMultiplicationPatterns(), mlir::spirv::populateSPIRVExpandNonFiniteArithmeticPatterns(), mlir::spirv::populateSPIRVGLCanonicalizationPatterns(), populateSPIRVLayoutInfoPatterns(), mlir::populateSPIRVToLLVMConversionPatterns(), mlir::populateSPIRVToLLVMFunctionConversionPatterns(), mlir::populateSPIRVToLLVMModuleConversionPatterns(), mlir::linalg::populateSplitReductionPattern(), mlir::populateStageSparseOperationsPatterns(), mlir::populateStorageSpecifierToLLVMPatterns(), mlir::linalg::populateSwapExtractSliceWithFillPatterns(), mlir::populateTensorToLinalgPatterns(), mlir::populateTensorToSPIRVPatterns(), mlir::tosa::populateTosaConstantReduction(), mlir::tosa::populateTosaDecomposeConv2D(), mlir::tosa::populateTosaDecomposeDepthwise(), mlir::tosa::populateTosaDecomposeTransposeConv(), mlir::tosa::populateTosaFoldConstantReciprocalPatterns(), mlir::tosa::populateTosaFoldConstantTransposePatterns(), mlir::tosa::populateTosaRescaleToArithConversionPatterns(), mlir::tosa::populateTosaToArithConversionPatterns(), mlir::tosa::populateTosaToLinalgConversionPatterns(), mlir::tosa::populateTosaToLinalgNamedConversionPatterns(), mlir::tosa::populateTosaToMLProgramConversionPatterns(), mlir::tosa::populateTosaToSCFConversionPatterns(), mlir::tosa::populateTosaToTensorConversionPatterns(), mlir::linalg::populateTransposeMatmulPatterns(), mlir::ub::populateUBToLLVMConversionPatterns(), mlir::ub::populateUBToSPIRVConversionPatterns(), mlir::arith::populateUnsignedWhenEquivalentPatterns(), mlir::scf::populateUpliftWhileToForPatterns(), mlir::vector::populateVectorBitCastLoweringPatterns(), mlir::vector::populateVectorBroadcastLoweringPatterns(), mlir::vector::populateVectorContractCanonicalizeMatmulToMMT(), mlir::vector::populateVectorContractLoweringPatterns(), mlir::vector::populateVectorExtractStridedSliceToExtractInsertChainPatterns(), mlir::vector::populateVectorGatherLoweringPatterns(), mlir::vector::populateVectorInsertExtractStridedSliceDecompositionPatterns(), mlir::vector::populateVectorInsertExtractStridedSliceTransforms(), mlir::vector::populateVectorInterleaveLoweringPatterns(), mlir::vector::populateVectorInterleaveToShufflePatterns(), mlir::vector::populateVectorLinearizeTypeConversionsAndLegality(), mlir::vector::populateVectorMaskedLoadStoreEmulationPatterns(), mlir::vector::populateVectorMaskLoweringPatternsForSideEffectingOps(), mlir::vector::populateVectorMaskMaterializationPatterns(), mlir::vector::populateVectorMaskOpLoweringPatterns(), mlir::vector::populateVectorMultiReductionLoweringPatterns(), mlir::vector::populateVectorNarrowTypeEmulationPatterns(), mlir::vector::populateVectorNarrowTypeRewritePatterns(), mlir::vector::populateVectorOuterProductLoweringPatterns(), mlir::vector::populateVectorReductionToContractPatterns(), mlir::populateVectorReductionToSPIRVDotProductPatterns(), mlir::vector::populateVectorScanLoweringPatterns(), mlir::vector::populateVectorShapeCastLoweringPatterns(), mlir::vector::populateVectorStepLoweringPatterns(), mlir::populateVectorToArmSMEPatterns(), mlir::populateVectorToLLVMConversionPatterns(), mlir::populateVectorToLLVMMatrixConversionPatterns(), mlir::populateVectorToSCFConversionPatterns(), mlir::populateVectorToSPIRVPatterns(), mlir::populateVectorToXeGPUConversionPatterns(), mlir::vector::populateVectorTransferCollapseInnerMostContiguousDimsPatterns(), mlir::vector::populateVectorTransferDropUnitDimsPatterns(), mlir::vector::populateVectorTransferFullPartialPatterns(), mlir::vector::populateVectorTransferLoweringPatterns(), mlir::vector::populateVectorTransferPermutationMapLoweringPatterns(), mlir::vector::populateVectorTransposeLoweringPatterns(), mlir::vector::populateVectorTransposeNarrowTypeRewritePatterns(), mlir::vector::populateVectorUnrollPatterns(), mlir::vector::populateWarpExecuteOnLane0OpToScfForPattern(), mlir::populateX86VectorLegalizeForLLVMExportPatterns(), and mlir::xegpu::populateXeGPUFoldAliasOpsPatterns().
|
inline |
Definition at line 903 of file PatternMatch.h.
|
inline |
Add the given PDL pattern to the pattern list.
Return a reference to this
for chaining insertions.
Definition at line 895 of file PatternMatch.h.
|
inline |
Add the given native pattern to the pattern list.
Return a reference to this
for chaining insertions.
Definition at line 888 of file PatternMatch.h.
|
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 869 of file PatternMatch.h.
|
inline |
Clear out all of the held patterns in this list.
Definition at line 838 of file PatternMatch.h.
|
inline |
Definition at line 829 of file PatternMatch.h.
Referenced by mlir::affine::affineForOpBodySkew(), mlir::affine::hoistAffineIfOp(), insert(), mlir::affine::populateAffineExpandIndexOpsPatterns(), mlir::populateAffineToStdConversionPatterns(), mlir::populateAffineToVectorConversionPatterns(), mlir::mesh::populateAllReduceEndomorphismSimplificationPatterns(), mlir::mesh::populateAllSliceOpLoweringPatterns(), mlir::amdgpu::populateAmdgpuEmulateAtomicsPatterns(), mlir::populateAnyFunctionOpInterfaceTypeConversionPattern(), mlir::arith::populateArithExpandOpsPatterns(), mlir::arith::populateArithToAMDGPUConversionPatterns(), mlir::arith::populateArithToArmSMEConversionPatterns(), mlir::populateArithToEmitCPatterns(), mlir::arith::populateArithToSPIRVPatterns(), mlir::arith::populateArithWideIntEmulationPatterns(), mlir::populateArmSMEToSCFConversionPatterns(), mlir::populateAsyncFuncToAsyncRuntimeConversionPatterns(), mlir::async::populateAsyncParallelForPatterns(), mlir::populateAsyncStructuralTypeConversionsAndLegality(), mlir::linalg::populateBlockPackMatmulPatterns(), mlir::vector::populateBreakDownVectorReductionPatterns(), mlir::tensor::populateBubbleUpExpandShapePatterns(), mlir::linalg::populateBubbleUpExtractSliceOpPatterns(), mlir::vector::populateBubbleVectorBitCastOpPatterns(), mlir::bufferization::populateBufferizationDeallocLoweringPattern(), mlir::populateBuiltinFuncToSPIRVPatterns(), mlir::populateCallOpTypeConversionPattern(), mlir::vector::populateCastAwayVectorLeadingOneDimPatterns(), mlir::arith::populateCeilFloorDivExpandOpsPatterns(), mlir::vector::populateChainedVectorReductionFoldingPatterns(), mlir::linalg::populateCollapseDimensions(), mlir::populateCommutativityUtilsPatterns(), mlir::populateComplexToLibmConversionPatterns(), mlir::populateComplexToSPIRVPatterns(), mlir::populateComplexToStandardConversionPatterns(), mlir::linalg::populateConstantFoldLinalgOperations(), mlir::linalg::populateContractionOpRankReducingPatterns(), mlir::cf::populateControlFlowToSPIRVPatterns(), mlir::populateConvertArmNeon2dToIntrPatterns(), mlir::linalg::populateConvertConv2DToImg2ColPatterns(), mlir::populateConvertShapeConstraintsConversionPatterns(), mlir::linalg::populateConvolutionVectorizationPatterns(), mlir::linalg::populateDataLayoutPropagationPatterns(), mlir::linalg::populateDecomposeConvolutionPatterns(), mlir::linalg::populateDecomposeLinalgOpsPattern(), mlir::linalg::populateDecomposeProjectedPermutationPatterns(), mlir::tensor::populateDecomposeTensorConcatPatterns(), mlir::linalg::populateDecomposeWinogradOpsPatterns(), mlir::tensor::populateDropRedundantInsertSliceRankExpansionPatterns(), mlir::vector::populateDropUnitDimWithShapeCastPatterns(), mlir::linalg::populateElementwiseOpsFusionPatterns(), mlir::linalg::populateElementwiseToLinalgConversionPatterns(), mlir::vector::populateElementwiseToVectorOpsPatterns(), mlir::bufferization::populateEliminateBufferizeMaterializationsPatterns(), mlir::bufferization::populateEmptyTensorToAllocTensorPattern(), mlir::arith::populateEmulateUnsupportedFloatsPatterns(), mlir::linalg::populateEraseUnnecessaryInputsPatterns(), mlir::linalg::populateEraseUnusedOperandsAndResultsPatterns(), mlir::arith::populateExpandBFloat16Patterns(), mlir::memref::populateExpandOpsPatterns(), mlir::memref::populateExpandReallocPatterns(), mlir::emitc::populateExpressionPatterns(), mlir::math::populateExtendToSupportedTypesPatterns(), mlir::memref::populateExtractAddressComputationsPatterns(), mlir::vector::populateFlattenVectorTransferPatterns(), mlir::linalg::populateFoldAddIntoDestPatterns(), mlir::vector::populateFoldArithExtensionPatterns(), mlir::tensor::populateFoldConstantExtractSlicePatterns(), mlir::mesh::populateFoldingPatterns(), mlir::tensor::populateFoldIntoPackAndUnpackPatterns(), mlir::memref::populateFoldMemRefAliasOpPatterns(), mlir::linalg::populateFoldReshapeOpsByCollapsingPatterns(), mlir::linalg::populateFoldReshapeOpsByExpansionPatterns(), mlir::tensor::populateFoldTensorEmptyPatterns(), mlir::tensor::populateFoldTensorSubsetIntoVectorTransferPatterns(), mlir::tensor::populateFoldTensorSubsetOpPatterns(), populateFoldUnitExtentDimsViaReshapesPatterns(), populateFoldUnitExtentDimsViaSlicesPatterns(), mlir::populateFuncOpVectorRewritePatterns(), mlir::populateFunctionOpInterfaceTypeConversionPattern(), mlir::populateFuncToEmitCPatterns(), mlir::populateFuncToSPIRVPatterns(), mlir::populateFuncTypeConversionPatterns(), mlir::linalg::populateFuseTensorPadWithProducerLinalgOpPatterns(), mlir::linalg::populateGeneralizePatterns(), mlir::populateGpuAllReducePatterns(), mlir::populateGpuBreakDownSubgroupReducePatterns(), mlir::populateGpuDecomposeMemrefsPatterns(), mlir::populateGpuEliminateBarriersPatterns(), mlir::populateGpuGlobalIdPatterns(), mlir::populateGpuLowerClusteredSubgroupReduceToShufflePatterns(), mlir::populateGpuLowerSubgroupReduceToShufflePatterns(), mlir::populateGpuShufflePatterns(), mlir::populateGPUToSPIRVPatterns(), mlir::populateGpuWMMAToSPIRVCoopMatrixKHRConversionPatterns(), mlir::index::populateIndexToSPIRVPatterns(), mlir::linalg::populateInlineConstantOperandsPatterns(), mlir::linalg::populateInsertSliceVectorizationPatterns(), mlir::arith::populateIntRangeNarrowingPatterns(), mlir::arith::populateIntRangeOptimizationsPatterns(), mlir::arm_sve::populateLegalizeVectorStoragePatterns(), mlir::linalg::populateLinalgGenericOpsSpecializationPatterns(), mlir::linalg::populateLinalgNamedOpConversionPatterns(), mlir::linalg::populateLinalgNamedOpsGeneralizationPatterns(), mlir::linalg::populateLinalgTilingCanonicalizationPatterns(), mlir::linalg::populateLinalgToStandardConversionPatterns(), mlir::arm_neon::populateLowerContractionToSMMLAPatternPatterns(), mlir::populateLowerForeachToSCFPatterns(), mlir::quant::populateLowerQuantOpsPatterns(), mlir::populateLowerSparseIterationToSCFPatterns(), mlir::populateLowerSparseOpsToForeachPatterns(), mlir::populateMathAlgebraicSimplificationPatterns(), mlir::populateMathPolynomialApproximationPatterns(), mlir::populateMathToLibmConversionPatterns(), mlir::populateMathToSPIRVPatterns(), mlir::memref::populateMemRefNarrowTypeEmulationPatterns(), mlir::populateMemRefToEmitCConversionPatterns(), mlir::populateMemRefToSPIRVPatterns(), mlir::memref::populateMemRefWideIntEmulationPatterns(), mlir::tensor::populateMergeConsecutiveInsertExtractSlicePatterns(), mlir::nvgpu::populateMmaSyncF32ToTF32Patterns(), mlir::linalg::populateMoveInitOperandsToInputPattern(), mlir::populateNVVMToLLVMConversionPatterns(), mlir::populateOneToNFunctionOpInterfaceTypeConversionPattern(), mlir::populateOpenACCToSCFConversionPatterns(), mlir::arm_sme::populateOuterProductFusionPatterns(), mlir::linalg::populatePadOpVectorizationPatterns(), mlir::populateParallelLoopToGPUPatterns(), mlir::populatePolynomialApproximateErfPattern(), mlir::populatePolynomialApproximateTanhPattern(), mlir::populatePrepareVectorToMMAPatterns(), mlir::populatePreSparsificationRewriting(), mlir::mesh::populateProcessMultiIndexOpLoweringPatterns(), mlir::tensor::populateReassociativeReshapeFoldingPatterns(), mlir::populateRemoveShapeConstraintsPatterns(), mlir::memref::populateResolveRankedShapedTypeResultDimsPatterns(), mlir::memref::populateResolveShapedTypeResultDimsPatterns(), mlir::populateReturnOpTypeConversionPattern(), mlir::populateReturnOpVectorRewritePatterns(), mlir::tensor::populateRewriteAsConstantPatterns(), mlir::vector::populateScalarVectorTransferLoweringPatterns(), mlir::scf::populateSCFForLoopCanonicalizationPatterns(), mlir::scf::populateSCFLoopPipeliningPatterns(), mlir::scf::populateSCFRotateWhileLoopPatterns(), mlir::scf::populateSCFStructuralOneToNTypeConversions(), mlir::scf::populateSCFStructuralTypeConversions(), mlir::populateSCFToControlFlowConversionPatterns(), mlir::populateSCFToEmitCConversionPatterns(), mlir::populateSCFToSPIRVPatterns(), mlir::vector::populateShapeCastFoldingPatterns(), mlir::populateShapeRewritePatterns(), mlir::populateShapeToStandardConversionPatterns(), mlir::tensor::populateSimplifyPackAndUnpackPatterns(), mlir::vector::populateSinkVectorOpsPatterns(), mlir::populateSparseAssembler(), mlir::populateSparseBufferRewriting(), mlir::populateSparseGPUCodegenPatterns(), mlir::populateSparseGPULibgenPatterns(), mlir::populateSparseReinterpretMap(), mlir::populateSparseTensorCodegenPatterns(), mlir::populateSparseTensorConversionPatterns(), mlir::populateSparseVectorizationPatterns(), mlir::populateSparsificationPatterns(), mlir::x86vector::avx2::populateSpecializedTransposeLoweringPatterns(), mlir::spirv::populateSPIRVExpandExtendedMultiplicationPatterns(), mlir::spirv::populateSPIRVExpandNonFiniteArithmeticPatterns(), mlir::spirv::populateSPIRVGLCanonicalizationPatterns(), populateSPIRVLayoutInfoPatterns(), mlir::populateSPIRVToLLVMConversionPatterns(), mlir::populateSPIRVToLLVMFunctionConversionPatterns(), mlir::populateSPIRVToLLVMModuleConversionPatterns(), mlir::linalg::populateSplitReductionPattern(), mlir::populateStageSparseOperationsPatterns(), mlir::populateStorageSpecifierToLLVMPatterns(), mlir::linalg::populateSwapExtractSliceWithFillPatterns(), mlir::populateTensorToLinalgPatterns(), mlir::populateTensorToSPIRVPatterns(), mlir::tosa::populateTosaRescaleToArithConversionPatterns(), mlir::tosa::populateTosaToArithConversionPatterns(), mlir::tosa::populateTosaToLinalgConversionPatterns(), mlir::tosa::populateTosaToLinalgNamedConversionPatterns(), mlir::tosa::populateTosaToMLProgramConversionPatterns(), mlir::tosa::populateTosaToSCFConversionPatterns(), mlir::tosa::populateTosaToTensorConversionPatterns(), mlir::linalg::populateTranposeConv2DPatterns(), mlir::linalg::populateTransposeMatmulPatterns(), mlir::ub::populateUBToSPIRVConversionPatterns(), mlir::arith::populateUnsignedWhenEquivalentPatterns(), mlir::populateUpliftToFMAPatterns(), mlir::scf::populateUpliftWhileToForPatterns(), mlir::vector::populateVectorBitCastLoweringPatterns(), mlir::vector::populateVectorBroadcastLoweringPatterns(), mlir::vector::populateVectorContractCanonicalizeMatmulToMMT(), mlir::vector::populateVectorContractLoweringPatterns(), mlir::vector::populateVectorExtractStridedSliceToExtractInsertChainPatterns(), mlir::vector::populateVectorGatherLoweringPatterns(), mlir::vector::populateVectorInsertExtractStridedSliceDecompositionPatterns(), mlir::vector::populateVectorInsertExtractStridedSliceTransforms(), mlir::vector::populateVectorInterleaveLoweringPatterns(), mlir::vector::populateVectorInterleaveToShufflePatterns(), mlir::vector::populateVectorLinearizeTypeConversionsAndLegality(), mlir::vector::populateVectorMaskedLoadStoreEmulationPatterns(), mlir::vector::populateVectorMaskLoweringPatternsForSideEffectingOps(), mlir::vector::populateVectorMaskMaterializationPatterns(), mlir::vector::populateVectorMaskOpLoweringPatterns(), mlir::vector::populateVectorMultiReductionLoweringPatterns(), mlir::vector::populateVectorNarrowTypeEmulationPatterns(), mlir::vector::populateVectorNarrowTypeRewritePatterns(), mlir::vector::populateVectorOuterProductLoweringPatterns(), mlir::vector::populateVectorReductionToContractPatterns(), mlir::populateVectorReductionToSPIRVDotProductPatterns(), mlir::vector::populateVectorScanLoweringPatterns(), mlir::vector::populateVectorShapeCastLoweringPatterns(), mlir::vector::populateVectorStepLoweringPatterns(), mlir::populateVectorToSCFConversionPatterns(), mlir::populateVectorToSPIRVPatterns(), mlir::populateVectorToXeGPUConversionPatterns(), mlir::vector::populateVectorTransferCollapseInnerMostContiguousDimsPatterns(), mlir::vector::populateVectorTransferDropUnitDimsPatterns(), mlir::vector::populateVectorTransferFullPartialPatterns(), mlir::vector::populateVectorTransferLoweringPatterns(), mlir::vector::populateVectorTransferPermutationMapLoweringPatterns(), mlir::vector::populateVectorTransposeLoweringPatterns(), mlir::vector::populateVectorTransposeNarrowTypeRewritePatterns(), mlir::vector::populateVectorUnrollPatterns(), mlir::vector::populateWarpExecuteOnLane0OpToScfForPattern(), and mlir::xegpu::populateXeGPUFoldAliasOpsPatterns().
|
inline |
Return the native patterns held in this list.
Definition at line 832 of file PatternMatch.h.
|
inline |
Return the PDL patterns held in this list.
Definition at line 835 of file PatternMatch.h.
Referenced by mlir::registerConversionPDLFunctions().
|
inline |
Add an instance of each of the pattern types 'Ts'.
Return a reference to this
for chaining insertions.
Definition at line 947 of file PatternMatch.h.
|
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 937 of file PatternMatch.h.
Referenced by mlir::affine::populateAffineExpandIndexOpsPatterns(), mlir::linalg::populateConstantFoldLinalgOperations(), mlir::linalg::populateConvertConv2DToImg2ColPatterns(), mlir::linalg::populateDataLayoutPropagationPatterns(), mlir::linalg::populateDecomposeLinalgOpsPattern(), mlir::linalg::populateDecomposeProjectedPermutationPatterns(), mlir::linalg::populateDecomposeWinogradOpsPatterns(), mlir::bufferization::populateEmptyTensorToAllocTensorPattern(), mlir::linalg::populateEraseUnnecessaryInputsPatterns(), mlir::linalg::populateEraseUnusedOperandsAndResultsPatterns(), mlir::tensor::populateFoldIntoPackAndUnpackPatterns(), mlir::populateGpuDecomposeMemrefsPatterns(), mlir::populateGpuEliminateBarriersPatterns(), mlir::index::populateIndexToLLVMConversionPatterns(), mlir::linalg::populateTranposeConv2DPatterns(), and mlir::populateUpliftToFMAPatterns().
|
inline |
Definition at line 969 of file PatternMatch.h.
References add(), and getContext().
|
inline |
Add the given PDL pattern to the pattern list.
Return a reference to this
for chaining insertions.
Definition at line 961 of file PatternMatch.h.
|
inline |
Add the given native pattern to the pattern list.
Return a reference to this
for chaining insertions.
Definition at line 954 of file PatternMatch.h.