MLIR  16.0.0git
Namespaces | Macros | Enumerations | Functions
VectorOps.h File Reference
#include "mlir/IR/AffineMap.h"
#include "mlir/IR/Attributes.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/Dialect.h"
#include "mlir/IR/OpDefinition.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/Interfaces/ControlFlowInterfaces.h"
#include "mlir/Interfaces/InferTypeOpInterface.h"
#include "mlir/Interfaces/SideEffectInterfaces.h"
#include "mlir/Interfaces/VectorInterfaces.h"
#include "mlir/Interfaces/ViewLikeInterface.h"
#include "llvm/ADT/StringExtras.h"
#include "mlir/Dialect/Vector/IR/VectorOpsEnums.h.inc"
#include "mlir/Dialect/Vector/IR/VectorOpsAttrDefs.h.inc"
#include "mlir/Dialect/Vector/IR/VectorOps.h.inc"
#include "mlir/Dialect/Vector/IR/VectorOpsDialect.h.inc"
+ Include dependency graph for VectorOps.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::arith
 
 mlir::vector
 
 mlir::vector::detail
 

Macros

#define GET_ATTRDEF_CLASSES
 
#define GET_OP_CLASSES
 

Enumerations

enum  mlir::vector::BroadcastableToResult { mlir::vector::BroadcastableToResult::Success = 0, mlir::vector::BroadcastableToResult::SourceRankHigher = 1, mlir::vector::BroadcastableToResult::DimensionMismatch = 2, mlir::vector::BroadcastableToResult::SourceTypeNotAVector = 3 }
 Return whether srcType can be broadcast to dstVectorType under the semantics of the vector.broadcast op. More...
 

Functions

BroadcastableToResult mlir::vector::isBroadcastableTo (Type srcType, VectorType dstVectorType, std::pair< int, int > *mismatchingDims=nullptr)
 
void mlir::vector::populateVectorToVectorCanonicalizationPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1)
 Collect a set of vector-to-vector canonicalization patterns. 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::populateFlattenVectorTransferPatterns (RewritePatternSet &patterns, 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::populateVectorTransferLoweringPatterns (RewritePatternSet &patterns, llvm::Optional< unsigned > maxTransferRank=llvm::None, PatternBenefit benefit=1)
 Collect a set of transfer read/write lowering patterns. 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::populateVectorBroadcastLoweringPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1)
 Collects patterns to progressively lower vector.broadcast ops on high-D vectors to low-D vector ops. More...
 
void mlir::vector::populateVectorMaskOpLoweringPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1)
 Collects patterns to progressively lower vector mask ops into elementary selection and insertion ops. More...
 
void mlir::vector::populateVectorShapeCastLoweringPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1)
 Collects patterns to progressively lower vector.shape_cast ops on high-D vectors into 1-D/2-D vector ops by generating data movement extract/insert ops. More...
 
IntegerType mlir::vector::getVectorSubscriptType (Builder &builder)
 Returns the integer type required for subscripts in the vector dialect. More...
 
ArrayAttr mlir::vector::getVectorSubscriptAttr (Builder &b, ArrayRef< int64_t > values)
 Returns an integer array attribute containing the given values using the integer type required for subscripts in the vector dialect. More...
 
Value mlir::vector::getVectorReductionOp (arith::AtomicRMWKind op, OpBuilder &builder, Location loc, Value vector)
 Returns the value obtained by reducing the vector into a scalar using the operation kind associated with a binary AtomicRMWKind op. More...
 
bool mlir::vector::isLastMemrefDimUnitStride (MemRefType type)
 Return true if the last dimension of the MemRefType has unit stride. More...
 
AffineMap mlir::vector::getTransferMinorIdentityMap (ShapedType shapedType, VectorType vectorType)
 Build the default minor identity map suitable for a vector transfer. More...
 
bool mlir::vector::checkSameValueRAW (TransferWriteOp defWrite, TransferReadOp read)
 Return true if the transfer_write fully writes the data accessed by the transfer_read. More...
 
bool mlir::vector::checkSameValueWAW (TransferWriteOp write, TransferWriteOp priorWrite)
 Return true if the write op fully over-write the priorWrite transfer_write op. More...
 
bool mlir::vector::isDisjointTransferIndices (VectorTransferOpInterface transferA, VectorTransferOpInterface transferB)
 Same behavior as isDisjointTransferSet but doesn't require the operations to have the same tensor/memref. More...
 
bool mlir::vector::isDisjointTransferSet (VectorTransferOpInterface transferA, VectorTransferOpInterface transferB)
 Return true if we can prove that the transfer operations access disjoint memory. More...
 
Value mlir::vector::makeArithReduction (OpBuilder &b, Location loc, CombiningKind kind, Value v1, Value v2)
 Return the result value of reducing two scalar/vector values with the corresponding arith operation. More...
 
bool mlir::vector::isParallelIterator (Attribute attr)
 Returns true if attr has "parallel" iterator type semantics. More...
 
bool mlir::vector::isReductionIterator (Attribute attr)
 Returns true if attr has "reduction" iterator type semantics. More...
 

Macro Definition Documentation

◆ GET_ATTRDEF_CLASSES

#define GET_ATTRDEF_CLASSES

Definition at line 32 of file VectorOps.h.

◆ GET_OP_CLASSES

#define GET_OP_CLASSES

Definition at line 197 of file VectorOps.h.