#include "TypeDetail.h"
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include "mlir/Dialect/LLVMIR/LLVMTypes.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/DialectImplementation.h"
#include "mlir/IR/TypeSupport.h"
#include "llvm/ADT/ScopeExit.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/TypeSize.h"
#include <optional>
#include "mlir/Dialect/LLVMIR/LLVMTypeInterfaces.cpp.inc"
#include "mlir/Dialect/LLVMIR/LLVMTypes.cpp.inc"
Go to the source code of this file.
|
static ParseResult | parseFunctionTypes (AsmParser &p, SmallVector< Type > ¶ms, bool &isVarArg) |
|
static void | printFunctionTypes (AsmPrinter &p, ArrayRef< Type > params, bool isVarArg) |
|
static ParseResult | parseExtTypeParams (AsmParser &p, SmallVectorImpl< Type > &typeParams, SmallVectorImpl< unsigned int > &intParams) |
| Parses the parameter list for a target extension type. More...
|
|
static void | printExtTypeParams (AsmPrinter &p, ArrayRef< Type > typeParams, ArrayRef< unsigned int > intParams) |
|
static LLVM_ATTRIBUTE_UNUSED OptionalParseResult | generatedTypeParser (AsmParser &parser, StringRef *mnemonic, Type &value) |
| These are unused for now. More...
|
|
static LLVM_ATTRIBUTE_UNUSED LogicalResult | generatedTypePrinter (Type def, AsmPrinter &printer) |
|
static std::optional< uint64_t > | getPointerDataLayoutEntry (DataLayoutEntryListRef params, LLVMPointerType type, PtrDLEntryPos pos) |
| Returns the part of the data layout entry that corresponds to pos for the given type by interpreting the list of entries params . More...
|
|
static std::optional< uint64_t > | getStructDataLayoutEntry (DataLayoutEntryListRef params, LLVMStructType type, StructDLEntryPos pos) |
|
static uint64_t | calculateStructAlignment (const DataLayout &dataLayout, DataLayoutEntryListRef params, LLVMStructType type, StructDLEntryPos pos) |
|
static uint64_t | extractStructSpecValue (Attribute attr, StructDLEntryPos pos) |
|
static bool | isCompatibleImpl (Type type, DenseSet< Type > &compatibleTypes) |
|
◆ GET_TYPEDEF_CLASSES
#define GET_TYPEDEF_CLASSES |
◆ GET_TYPEDEF_LIST
◆ calculateStructAlignment()
◆ extractStructSpecValue()
static uint64_t extractStructSpecValue |
( |
Attribute |
attr, |
|
|
StructDLEntryPos |
pos |
|
) |
| |
|
static |
◆ generatedTypeParser()
These are unused for now.
TODO: Move over to these once more types have been migrated to TypeDef.
Referenced by parsePDLType().
◆ generatedTypePrinter()
static LLVM_ATTRIBUTE_UNUSED LogicalResult generatedTypePrinter |
( |
Type |
def, |
|
|
AsmPrinter & |
printer |
|
) |
| |
|
static |
◆ getPointerDataLayoutEntry()
◆ getStructDataLayoutEntry()
static std::optional<uint64_t> getStructDataLayoutEntry |
( |
DataLayoutEntryListRef |
params, |
|
|
LLVMStructType |
type, |
|
|
StructDLEntryPos |
pos |
|
) |
| |
|
static |
◆ isCompatibleImpl()
◆ parseExtTypeParams()
◆ parseFunctionTypes()
◆ printExtTypeParams()
◆ printFunctionTypes()
◆ kArmSVCount
constexpr llvm::StringRef kArmSVCount = "aarch64.svcount" |
|
staticconstexpr |
◆ kBitsInByte
constexpr static const uint64_t kBitsInByte = 8 |
|
staticconstexpr |
◆ kDefaultPointerAlignment
constexpr static const uint64_t kDefaultPointerAlignment = 8 |
|
staticconstexpr |
◆ kDefaultPointerSizeBits
constexpr static const uint64_t kDefaultPointerSizeBits = 64 |
|
staticconstexpr |
◆ kSpirvPrefix
constexpr llvm::StringRef kSpirvPrefix = "spirv." |
|
staticconstexpr |