MLIR
17.0.0git
|
#include "mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h"
#include "mlir/Conversion/LLVMCommon/TypeConverter.h"
#include "mlir/Conversion/LLVMCommon/VectorPattern.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/Arith/Utils/Utils.h"
#include "mlir/Dialect/LLVMIR/FunctionCallUtils.h"
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/Vector/Interfaces/MaskableOpInterface.h"
#include "mlir/Dialect/Vector/Transforms/LoweringPatterns.h"
#include "mlir/Dialect/Vector/Transforms/VectorTransforms.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/TypeUtilities.h"
#include "mlir/Target/LLVMIR/TypeToLLVM.h"
#include "mlir/Transforms/DialectConversion.h"
#include "llvm/Support/Casting.h"
#include <optional>
Go to the source code of this file.
Functions | |
static VectorType | reducedVectorTypeFront (VectorType tp) |
static VectorType | reducedVectorTypeBack (VectorType tp) |
static Value | insertOne (ConversionPatternRewriter &rewriter, LLVMTypeConverter &typeConverter, Location loc, Value val1, Value val2, Type llvmType, int64_t rank, int64_t pos) |
static Value | extractOne (ConversionPatternRewriter &rewriter, LLVMTypeConverter &typeConverter, Location loc, Value val, Type llvmType, int64_t rank, int64_t pos) |
LogicalResult | getMemRefAlignment (LLVMTypeConverter &typeConverter, MemRefType memrefType, unsigned &align) |
static LogicalResult | isMemRefTypeSupported (MemRefType memRefType, LLVMTypeConverter &converter) |
static Value | getIndexedPtrs (ConversionPatternRewriter &rewriter, Location loc, LLVMTypeConverter &typeConverter, MemRefType memRefType, Value llvmMemref, Value base, Value index, uint64_t vLen) |
static Value | castDataPtr (ConversionPatternRewriter &rewriter, Location loc, Value ptr, MemRefType memRefType, Type vt, LLVMTypeConverter &converter) |
|
static |
Definition at line 128 of file ConvertVectorToLLVM.cpp.
References mlir::OpBuilder::create(), mlir::LLVMTypeConverter::getMemRefAddressSpace(), and mlir::LLVMTypeConverter::useOpaquePointers().
|
static |
Definition at line 69 of file ConvertVectorToLLVM.cpp.
References mlir::LLVMTypeConverter::convertType(), mlir::OpBuilder::create(), mlir::Builder::getIndexType(), and mlir::Builder::getIntegerAttr().
|
static |
Definition at line 113 of file ConvertVectorToLLVM.cpp.
References mlir::LLVMTypeConverter::convertType(), mlir::OpBuilder::create(), mlir::MemRefDescriptor::getElementPtrType(), mlir::LLVM::getFixedVectorType(), isMemRefTypeSupported(), and mlir::succeeded().
LogicalResult getMemRefAlignment | ( | LLVMTypeConverter & | typeConverter, |
MemRefType | memrefType, | ||
unsigned & | align | ||
) |
Definition at line 84 of file ConvertVectorToLLVM.cpp.
References mlir::LLVMTypeConverter::convertType(), mlir::failure(), mlir::LLVMTypeConverter::getDataLayout(), mlir::LLVM::TypeToLLVMIRTranslator::getPreferredAlignment(), and mlir::success().
|
static |
Definition at line 52 of file ConvertVectorToLLVM.cpp.
References mlir::LLVMTypeConverter::convertType(), mlir::OpBuilder::create(), mlir::Builder::getIndexType(), and mlir::Builder::getIntegerAttr().
|
static |
Definition at line 99 of file ConvertVectorToLLVM.cpp.
References mlir::failed(), mlir::failure(), mlir::LLVMTypeConverter::getMemRefAddressSpace(), mlir::getStridesAndOffset(), and mlir::success().
Referenced by getIndexedPtrs().
|
static |
Definition at line 42 of file ConvertVectorToLLVM.cpp.
|
static |
Definition at line 32 of file ConvertVectorToLLVM.cpp.