MLIR  17.0.0git
Classes | Namespaces | Functions
VectorRewritePatterns.h File Reference
#include <optional>
#include <utility>
#include "mlir/Dialect/Vector/IR/VectorOps.h"
#include "mlir/Dialect/Vector/Transforms/VectorTransformsEnums.h.inc"
#include "mlir/Dialect/Vector/Utils/VectorUtils.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/Support/LogicalResult.h"
+ Include dependency graph for VectorRewritePatterns.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mlir::vector::UnrollVectorOptions
 Options that control the vector unrolling. More...
 

Namespaces

 mlir
 This header declares functions that assit transformations in the MemRef dialect.
 
 mlir::vector
 

Functions

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::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::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...