MLIR
20.0.0git
|
#include "mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h"
#include "mlir/Conversion/ArithCommon/AttrToLLVMConverter.h"
#include "mlir/Conversion/LLVMCommon/PrintCallHelper.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/IR/VectorOps.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/BuiltinAttributes.h"
#include "mlir/IR/BuiltinTypeInterfaces.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/TypeUtilities.h"
#include "mlir/Target/LLVMIR/TypeToLLVM.h"
#include "mlir/Transforms/DialectConversion.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/Support/Casting.h"
#include <optional>
Go to the source code of this file.
Functions | |
static VectorType | reducedVectorTypeBack (VectorType tp) |
static Value | insertOne (ConversionPatternRewriter &rewriter, const LLVMTypeConverter &typeConverter, Location loc, Value val1, Value val2, Type llvmType, int64_t rank, int64_t pos) |
static Value | extractOne (ConversionPatternRewriter &rewriter, const LLVMTypeConverter &typeConverter, Location loc, Value val, Type llvmType, int64_t rank, int64_t pos) |
LogicalResult | getMemRefAlignment (const LLVMTypeConverter &typeConverter, MemRefType memrefType, unsigned &align) |
static LogicalResult | isMemRefTypeSupported (MemRefType memRefType, const LLVMTypeConverter &converter) |
static Value | getIndexedPtrs (ConversionPatternRewriter &rewriter, Location loc, const LLVMTypeConverter &typeConverter, MemRefType memRefType, Value llvmMemref, Value base, Value index, VectorType vectorType) |
static Value | getAsLLVMValue (OpBuilder &builder, Location loc, OpFoldResult foldResult) |
Convert foldResult into a Value. More... | |
|
static |
Definition at line 62 of file ConvertVectorToLLVM.cpp.
References mlir::LLVMTypeConverter::convertType(), mlir::OpBuilder::create(), mlir::Builder::getIndexType(), and mlir::Builder::getIntegerAttr().
|
static |
Convert foldResult
into a Value.
Integer attribute is converted to an LLVM constant op.
Definition at line 120 of file ConvertVectorToLLVM.cpp.
References mlir::OpBuilder::create().
|
static |
Definition at line 102 of file ConvertVectorToLLVM.cpp.
References mlir::LLVMTypeConverter::convertType(), mlir::OpBuilder::create(), mlir::MemRefDescriptor::getElementPtrType(), mlir::LLVM::getVectorType(), and isMemRefTypeSupported().
LogicalResult getMemRefAlignment | ( | const LLVMTypeConverter & | typeConverter, |
MemRefType | memrefType, | ||
unsigned & | align | ||
) |
Definition at line 77 of file ConvertVectorToLLVM.cpp.
References mlir::LLVMTypeConverter::convertType(), mlir::LLVMTypeConverter::getDataLayout(), and mlir::LLVM::TypeToLLVMIRTranslator::getPreferredAlignment().
|
static |
Definition at line 45 of file ConvertVectorToLLVM.cpp.
References mlir::LLVMTypeConverter::convertType(), mlir::OpBuilder::create(), mlir::Builder::getIndexType(), and mlir::Builder::getIntegerAttr().
|
static |
Definition at line 92 of file ConvertVectorToLLVM.cpp.
References mlir::LLVMTypeConverter::getMemRefAddressSpace(), and mlir::isLastMemrefDimUnitStride().
Referenced by getIndexedPtrs().
|
static |
Definition at line 38 of file ConvertVectorToLLVM.cpp.
References mlir::get().