MLIR  17.0.0git
Namespaces | Macros | Enumerations | Functions
VectorOps.h File Reference
#include "mlir/Dialect/Vector/Interfaces/MaskableOpInterface.h"
#include "mlir/Dialect/Vector/Interfaces/MaskingOpInterface.h"
#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/DestinationStyleOpInterface.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/"
#include "mlir/Dialect/Vector/IR/"
#include "mlir/Dialect/Vector/IR/"
#include "mlir/Dialect/Vector/IR/"
+ 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.


 Include the generated interface declarations.




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


void mlir::vector::buildTerminatedBody (OpBuilder &builder, Location loc)
 Default callback to build a region with a 'vector.yield' terminator with no arguments. More...
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, std::optional< unsigned > maxTransferRank=std::nullopt, 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...
void mlir::vector::populateScalarVectorTransferLoweringPatterns (RewritePatternSet &patterns, PatternBenefit benefit=1)
 Collects patterns that lower scalar vector transfer ops to memref loads and stores when beneficial. 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...
void mlir::vector::createMaskOpRegion (OpBuilder &builder, Operation *maskableOp)
 Create the vector.yield-ended region of a vector.mask op with maskableOp as masked operation. More...
Operation * mlir::vector::maskOperation (RewriterBase &rewriter, Operation *maskableOp, Value mask)
 Creates a vector.mask operation around a maskable operation. More...

Macro Definition Documentation



Definition at line 35 of file VectorOps.h.



Definition at line 223 of file VectorOps.h.