9 #ifndef MLIR_CONVERSION_LLVMCOMMON_VECTORPATTERN_H 10 #define MLIR_CONVERSION_LLVMCOMMON_VECTORPATTERN_H 45 unsigned linearIndex);
66 template <
typename SourceOp,
typename TargetOp>
77 "expected single result op");
79 op, TargetOp::getOperationName(), adaptor.getOperands(),
80 *this->getTypeConverter(), rewriter);
85 #endif // MLIR_CONVERSION_LLVMCOMMON_VECTORPATTERN_H Include the generated interface declarations.
Utility class for operation conversions targeting the LLVM dialect that match exactly one source oper...
NDVectorTypeInfo extractNDVectorTypeInfo(VectorType vectorType, LLVMTypeConverter &converter)
Operation is a basic unit of execution within MLIR.
Basic lowering implementation to rewrite Ops with just one result to the LLVM Dialect.
This class provides return value APIs for ops that are known to have a single result.
LogicalResult handleMultidimensionalVectors(Operation *op, ValueRange operands, LLVMTypeConverter &typeConverter, std::function< Value(Type, ValueRange)> createOperand, ConversionPatternRewriter &rewriter)
SmallVector< int64_t, 4 > arraySizes
static constexpr const bool value
This class represents an efficient way to signal success or failure.
SmallVector< int64_t, 4 > getCoordinates(ArrayRef< int64_t > basis, unsigned linearIndex)
LogicalResult vectorOneToOneRewrite(Operation *op, StringRef targetOp, ValueRange operands, LLVMTypeConverter &typeConverter, ConversionPatternRewriter &rewriter)
Instances of the Type class are uniqued, have an immutable identifier and an optional mutable compone...
This class represents an instance of an SSA value in the MLIR system, representing a computable value...
LogicalResult matchAndRewrite(SourceOp op, typename SourceOp::Adaptor adaptor, ConversionPatternRewriter &rewriter) const override
Conversion from types to the LLVM IR dialect.
static VectorType vectorType(CodeGen &codegen, Type etp)
Constructs vector type.
void nDVectorIterate(const NDVectorTypeInfo &info, OpBuilder &builder, function_ref< void(ArrayAttr)> fun)
This class implements a pattern rewriter for use with ConversionPatterns.
This class helps build Operations.
This class provides an abstraction over the different types of ranges over Values.