MLIR
20.0.0git
|
#include "mlir/Conversion/LLVMCommon/TypeConverter.h"
#include "MemRefDescriptor.h"
#include "mlir/Conversion/LLVMCommon/MemRefBuilder.h"
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include "mlir/Dialect/LLVMIR/LLVMTypes.h"
#include "llvm/ADT/ScopeExit.h"
#include "llvm/Support/Threading.h"
#include <memory>
#include <mutex>
#include <optional>
Go to the source code of this file.
Functions | |
static bool | isBarePointer (ValueRange values) |
Helper function that checks if the given value range is a bare pointer. More... | |
static Value | packUnrankedMemRefDesc (OpBuilder &builder, UnrankedMemRefType resultType, ValueRange inputs, Location loc, const LLVMTypeConverter &converter) |
Pack SSA values into an unranked memref descriptor struct. More... | |
static Value | packRankedMemRefDesc (OpBuilder &builder, MemRefType resultType, ValueRange inputs, Location loc, const LLVMTypeConverter &converter) |
Pack SSA values into a ranked memref descriptor struct. More... | |
static Value | unrankedMemRefMaterialization (OpBuilder &builder, UnrankedMemRefType resultType, ValueRange inputs, Location loc, const LLVMTypeConverter &converter) |
MemRef descriptor elements -> UnrankedMemRefType. More... | |
static Value | rankedMemRefMaterialization (OpBuilder &builder, MemRefType resultType, ValueRange inputs, Location loc, const LLVMTypeConverter &converter) |
MemRef descriptor elements -> MemRefType. More... | |
static void | filterByValRefArgAttrs (FunctionOpInterface funcOp, SmallVectorImpl< std::optional< NamedAttribute >> &result) |
Returns the llvm.byval or llvm.byref attributes that are present in the function arguments. More... | |
|
static |
Returns the llvm.byval
or llvm.byref
attributes that are present in the function arguments.
Returns an empty container if none of these attributes are found in any of the arguments.
Definition at line 336 of file TypeConverter.cpp.
Referenced by mlir::LLVMTypeConverter::convertFunctionSignature().
|
static |
Helper function that checks if the given value range is a bare pointer.
Definition at line 48 of file TypeConverter.cpp.
References mlir::ValueRange::getType().
Referenced by packRankedMemRefDesc().
|
static |
Pack SSA values into a ranked memref descriptor struct.
Definition at line 67 of file TypeConverter.cpp.
References mlir::MemRefDescriptor::fromStaticShape(), mlir::LLVMTypeConverter::getMemRefDescriptorFields(), isBarePointer(), and mlir::MemRefDescriptor::pack().
Referenced by mlir::LLVMTypeConverter::LLVMTypeConverter(), and rankedMemRefMaterialization().
|
static |
Pack SSA values into an unranked memref descriptor struct.
Definition at line 54 of file TypeConverter.cpp.
References mlir::LLVMTypeConverter::getUnrankedMemRefDescriptorFields(), and mlir::UnrankedMemRefDescriptor::pack().
Referenced by mlir::LLVMTypeConverter::LLVMTypeConverter(), and unrankedMemRefMaterialization().
|
static |
MemRef descriptor elements -> MemRefType.
Definition at line 100 of file TypeConverter.cpp.
References mlir::OpBuilder::create(), and packRankedMemRefDesc().
Referenced by mlir::LLVMTypeConverter::LLVMTypeConverter().
|
static |
MemRef descriptor elements -> UnrankedMemRefType.
Definition at line 84 of file TypeConverter.cpp.
References mlir::OpBuilder::create(), and packUnrankedMemRefDesc().
Referenced by mlir::LLVMTypeConverter::LLVMTypeConverter().