MLIR  20.0.0git
Classes | Namespaces | Functions
VectorTransforms.h File Reference
#include "mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h"
#include "mlir/Dialect/Vector/Utils/VectorUtils.h"
#include "mlir/Interfaces/FunctionInterfaces.h"

Go to the source code of this file.

Classes

struct  mlir::vector::VectorTransformsOptions
 Structure to control the behavior of vector transform patterns. More...
 
struct  mlir::vector::VscaleRange
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::scf
 
 mlir::vector
 

Functions

LogicalResult mlir::vector::splitFullAndPartialTransfer (RewriterBase &b, VectorTransferOpInterface xferOp, VectorTransformsOptions options=VectorTransformsOptions(), scf::IfOp *ifOp=nullptr)
 Split a vector.transfer operation into an in-bounds (i.e., no out-of-bounds masking) fastpath and a slowpath. More...
 
void mlir::vector::transferOpflowOpt (RewriterBase &rewriter, Operation *rootOp)
 Implements transfer op write to read forwarding and dead transfer write optimizations. More...
 
FailureOr< Valuemlir::vector::castAwayContractionLeadingOneDim (vector::ContractionOp contractOp, MaskingOpInterface maskingOp, RewriterBase &rewriter)
 Cast away the leading unit dim, if exists, for the given contract op. More...
 
void mlir::vector::eliminateVectorMasks (IRRewriter &rewriter, FunctionOpInterface function, std::optional< VscaleRange > vscaleRange={})
 Attempts to eliminate redundant vector masks by replacing them with all-true constants at the top of the function (which results in the masks folding away). More...