MLIR  18.0.0git
Namespaces | Macros | Enumerations | Functions
VectorOps.h File Reference
#include "mlir/Bytecode/BytecodeOpInterface.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#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/"

Go to the source code of this file.


 This header declares functions that assist transformations in the MemRef dialect.




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::populateFoldArithExtensionPatterns (RewritePatternSet &patterns)
 Collect a set of patterns that fold arithmetic extension on floating point into vector contract for the backends with native support. 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...
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 acc, Value mask=Value())
 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...
SmallVector< int64_t > mlir::vector::getAsIntegers (ArrayRef< Value > values)
 Returns the integer numbers in values. More...
SmallVector< int64_t > mlir::vector::getAsIntegers (ArrayRef< OpFoldResult > foldResults)
 Returns the integer numbers in foldResults. More...
SmallVector< Valuemlir::vector::getAsValues (OpBuilder &builder, Location loc, ArrayRef< OpFoldResult > foldResults)
 Convert foldResults into Values. More...
SmallVector< arith::ConstantIndexOp > mlir::vector::getAsConstantIndexOps (ArrayRef< Value > values)
 Returns the constant index ops in values. 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 (OpBuilder &builder, Operation *maskableOp, Value mask, Value passthru=Value())
 Creates a vector.mask operation around a maskable operation. More...
Value mlir::vector::selectPassthru (OpBuilder &builder, Value mask, Value newValue, Value passthru)
 Creates a vector select operation that picks values from newValue or passthru for each result vector lane based on mask. More...

Macro Definition Documentation



Definition at line 37 of file VectorOps.h.



Definition at line 178 of file VectorOps.h.