|
void | mlir::vector::populateVectorContractCanonicalizeMatmulToMMT (RewritePatternSet &patterns, std::function< LogicalResult(vector::ContractionOp)> constraint=[](vector::ContractionOp) { return success();}, PatternBenefit=1) |
| Canonicalization of a vector.contraction a, b, c with row-major matmul semantics to a contraction with MMT semantics (matrix matrix multiplication with the RHS transposed). More...
|
|
void | mlir::vector::populateVectorReductionToContractPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1) |
| Collect patterns to convert reduction op to vector.contract and fold transpose/broadcast ops into the contract. More...
|
|
void | mlir::vector::populateVectorTransferFullPartialPatterns (RewritePatternSet &patterns, const VectorTransformsOptions &options) |
| Populate patterns with the following patterns. More...
|
|
void | mlir::vector::populateVectorTransferCollapseInnerMostContiguousDimsPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1) |
| Collect a set of patterns to reduce the rank of the operands of vector transfer ops to operate on the largest contigious vector. More...
|
|
void | mlir::vector::populateSinkVectorOpsPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1) |
| Patterns that remove redundant Vector Ops by re-ordering them with e.g. More...
|
|
void | mlir::vector::populateChainedVectorReductionFoldingPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1) |
| Patterns that fold chained vector reductions. More...
|
|
void | mlir::vector::populateBreakDownVectorReductionPatterns (RewritePatternSet &patterns, unsigned maxNumElementsToExtract=2, PatternBenefit benefit=1) |
| Patterns to break down vector reductions into a series of arith reductions over vector elements. More...
|
|
void | mlir::vector::populateVectorInsertExtractStridedSliceDecompositionPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1) |
| Populate patterns with the following patterns. More...
|
|
void | mlir::vector::populateVectorExtractStridedSliceToExtractInsertChainPatterns (RewritePatternSet &patterns, std::function< bool(ExtractStridedSliceOp)> controlFn=nullptr, PatternBenefit benefit=1) |
| Populate patterns with a pattern to breaks down 1-D extract_strided_slice ops into a chain of Extract ops to extract each element from the source, and then a chain of Insert ops to insert to the target vector. More...
|
|
void | mlir::vector::populateBreakDownVectorBitCastOpPatterns (RewritePatternSet &patterns, std::function< bool(BitCastOp)> controlFn=nullptr, PatternBenefit benefit=1) |
| Populate patterns with a pattern to break down 1-D vector.bitcast ops based on the destination vector shape. More...
|
|
void | mlir::vector::populateVectorInsertExtractStridedSliceTransforms (RewritePatternSet &patterns, PatternBenefit benefit=1) |
| Populate patterns with the following patterns. More...
|
|
void | mlir::vector::populateVectorUnrollPatterns (RewritePatternSet &patterns, const UnrollVectorOptions &options, PatternBenefit benefit=1) |
| Collect a set of pattern to unroll vector operations to a smaller shapes. More...
|
|
void | mlir::vector::populateShapeCastFoldingPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1) |
| Collect a set of vector.shape_cast folding patterns. More...
|
|
void | mlir::vector::populateCastAwayVectorLeadingOneDimPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1) |
| Collect a set of leading one dimension removal patterns. More...
|
|
void | mlir::vector::populateVectorTransferDropUnitDimsPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1) |
| Collect a set of one dimension removal patterns. More...
|
|
void | mlir::vector::populateDropUnitDimWithShapeCastPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1) |
| Collect a set of patterns that use vector.shape_cast to help fold unit dims. More...
|
|
void | mlir::vector::populateFlattenVectorTransferPatterns (RewritePatternSet &patterns, unsigned targetVectorBitwidth=std::numeric_limits< unsigned >::max(), PatternBenefit benefit=1) |
| Collect a set of patterns to flatten n-D vector transfers on contiguous memref. More...
|
|
void | mlir::vector::populateBubbleVectorBitCastOpPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1) |
| Collect a set of patterns that bubble up/down bitcast ops. More...
|
|
void | mlir::vector::populateVectorMaskMaterializationPatterns (RewritePatternSet &patterns, bool force32BitVectorIndices, PatternBenefit benefit=1) |
| These patterns materialize masks for various vector ops such as transfers. More...
|
|
void | mlir::vector::populateVectorNarrowTypeEmulationPatterns (const arith::NarrowTypeEmulationConverter &typeConverter, RewritePatternSet &patterns) |
| Appends patterns for emulating vector operations over narrow types with ops over wider types. More...
|
|
FailureOr< Value > | mlir::vector::rewriteBitCastOfTruncI (RewriterBase &rewriter, vector::BitCastOp bitCastOp, arith::TruncIOp truncOp, vector::BroadcastOp maybeBroadcastOp) |
| Rewrite a vector bitcast(trunci) to use a more efficient sequence of vector operations comprising shuffle and bitwise ops. More...
|
|
FailureOr< Value > | mlir::vector::rewriteExtOfBitCast (RewriterBase &rewriter, Operation *extOp, vector::BitCastOp bitCastOp, vector::BroadcastOp maybeBroadcastOp) |
| Rewrite a vector ext(bitcast) to use a more efficient sequence of vector operations comprising shuffle and bitwise ops. More...
|
|
void | mlir::vector::populateVectorNarrowTypeRewritePatterns (RewritePatternSet &patterns, PatternBenefit benefit=1) |
| Appends patterns for rewriting vector operations over narrow types with ops over wider types. More...
|
|
void | mlir::vector::populateVectorTransposeNarrowTypeRewritePatterns (RewritePatternSet &patterns, PatternBenefit benefit=1) |
| Appends patterns for emulating a sub-byte vector transpose. More...
|
|
void | mlir::vector::populateVectorLinearizeTypeConversionsAndLegality (TypeConverter &typeConverter, RewritePatternSet &patterns, ConversionTarget &target, unsigned targetBitWidth) |
| Populates patterns for ND vectors (N >= 2) linearization and sets up the provided ConversionTarget with the appropriate legality configuration for the ops to get converted properly. More...
|
|
void | mlir::vector::populateVectorLinearizeShuffleLikeOpsPatterns (const TypeConverter &typeConverter, RewritePatternSet &patterns, ConversionTarget &target, unsigned targetBitWidth) |
| Populates patterns for linearizing ND (N >= 2) vector operations to 1D vector shuffle operations. More...
|
|