MLIR
20.0.0git
|
#include "mlir-c/Dialect/LLVM.h"
#include "mlir-c/IR.h"
#include "mlir-c/Support.h"
#include "mlir/CAPI/Registration.h"
#include "mlir/CAPI/Wrap.h"
#include "mlir/Dialect/LLVMIR/LLVMAttrs.h"
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include "mlir/Dialect/LLVMIR/LLVMTypes.h"
#include "llvm-c/Core.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/SmallVectorExtras.h"
Go to the source code of this file.
Functions | |
MlirType | mlirLLVMPointerTypeGet (MlirContext ctx, unsigned addressSpace) |
Creates an llvm.ptr type. More... | |
bool | mlirTypeIsALLVMPointerType (MlirType type) |
Returns true if the type is an LLVM dialect pointer type. More... | |
unsigned | mlirLLVMPointerTypeGetAddressSpace (MlirType pointerType) |
Returns address space of llvm.ptr. More... | |
MlirType | mlirLLVMVoidTypeGet (MlirContext ctx) |
Creates an llmv.void type. More... | |
MlirType | mlirLLVMArrayTypeGet (MlirType elementType, unsigned numElements) |
Creates an llvm.array type. More... | |
MlirType | mlirLLVMFunctionTypeGet (MlirType resultType, intptr_t nArgumentTypes, MlirType const *argumentTypes, bool isVarArg) |
Creates an llvm.func type. More... | |
bool | mlirTypeIsALLVMStructType (MlirType type) |
Returns true if the type is an LLVM dialect struct type. More... | |
bool | mlirLLVMStructTypeIsLiteral (MlirType type) |
Returns true if the type is a literal (unnamed) LLVM struct type. More... | |
intptr_t | mlirLLVMStructTypeGetNumElementTypes (MlirType type) |
Returns the number of fields in the struct. More... | |
MlirType | mlirLLVMStructTypeGetElementType (MlirType type, intptr_t position) |
Returns the positions -th field of the struct. More... | |
bool | mlirLLVMStructTypeIsPacked (MlirType type) |
Returns true if the struct is packed. More... | |
MlirStringRef | mlirLLVMStructTypeGetIdentifier (MlirType type) |
Returns the identifier of the identified struct. More... | |
bool | mlirLLVMStructTypeIsOpaque (MlirType type) |
Returns true is the struct is explicitly opaque (will not have a body) or uninitialized (will eventually have a body). More... | |
MlirType | mlirLLVMStructTypeLiteralGet (MlirContext ctx, intptr_t nFieldTypes, MlirType const *fieldTypes, bool isPacked) |
Creates an LLVM literal (unnamed) struct type. More... | |
MlirType | mlirLLVMStructTypeLiteralGetChecked (MlirLocation loc, intptr_t nFieldTypes, MlirType const *fieldTypes, bool isPacked) |
Creates an LLVM literal (unnamed) struct type if possible. More... | |
MlirType | mlirLLVMStructTypeOpaqueGet (MlirContext ctx, MlirStringRef name) |
MlirType | mlirLLVMStructTypeIdentifiedGet (MlirContext ctx, MlirStringRef name) |
Creates an LLVM identified struct type with no body. More... | |
MlirType | mlirLLVMStructTypeIdentifiedNewGet (MlirContext ctx, MlirStringRef name, intptr_t nFieldTypes, MlirType const *fieldTypes, bool isPacked) |
Creates an LLVM identified struct type with no body and a name starting with the given prefix. More... | |
MlirLogicalResult | mlirLLVMStructTypeSetBody (MlirType structType, intptr_t nFieldTypes, MlirType const *fieldTypes, bool isPacked) |
Sets the body of the identified struct if it hasn't been set yet. More... | |
MlirAttribute | mlirLLVMDIExpressionElemAttrGet (MlirContext ctx, unsigned int opcode, intptr_t nArguments, uint64_t const *arguments) |
Creates a LLVM DIExpressionElem attribute. More... | |
MlirAttribute | mlirLLVMDIExpressionAttrGet (MlirContext ctx, intptr_t nOperations, MlirAttribute const *operations) |
Creates a LLVM DIExpression attribute. More... | |
MlirAttribute | mlirLLVMDINullTypeAttrGet (MlirContext ctx) |
Creates a LLVM DINullType attribute. More... | |
MlirAttribute | mlirLLVMDIBasicTypeAttrGet (MlirContext ctx, unsigned int tag, MlirAttribute name, uint64_t sizeInBits, MlirLLVMTypeEncoding encoding) |
Creates a LLVM DIBasicType attribute. More... | |
MlirAttribute | mlirLLVMDICompositeTypeAttrGetRecSelf (MlirAttribute recId) |
Creates a self-referencing LLVM DICompositeType attribute. More... | |
MlirAttribute | mlirLLVMDICompositeTypeAttrGet (MlirContext ctx, MlirAttribute recId, bool isRecSelf, unsigned int tag, MlirAttribute name, MlirAttribute file, uint32_t line, MlirAttribute scope, MlirAttribute baseType, int64_t flags, uint64_t sizeInBits, uint64_t alignInBits, intptr_t nElements, MlirAttribute const *elements, MlirAttribute dataLocation, MlirAttribute rank, MlirAttribute allocated, MlirAttribute associated) |
Creates a LLVM DICompositeType attribute. More... | |
MlirAttribute | mlirLLVMDIDerivedTypeAttrGet (MlirContext ctx, unsigned int tag, MlirAttribute name, MlirAttribute baseType, uint64_t sizeInBits, uint32_t alignInBits, uint64_t offsetInBits, int64_t dwarfAddressSpace, MlirAttribute extraData) |
Creates a LLVM DIDerivedType attribute. More... | |
MlirAttribute | mlirLLVMDIStringTypeAttrGet (MlirContext ctx, unsigned int tag, MlirAttribute name, uint64_t sizeInBits, uint32_t alignInBits, MlirAttribute stringLength, MlirAttribute stringLengthExp, MlirAttribute stringLocationExp, MlirLLVMTypeEncoding encoding) |
MlirAttribute | mlirLLVMDIDerivedTypeAttrGetBaseType (MlirAttribute diDerivedType) |
Gets the base type from a LLVM DIDerivedType attribute. More... | |
MlirAttribute | mlirLLVMCConvAttrGet (MlirContext ctx, MlirLLVMCConv cconv) |
Creates a LLVM CConv attribute. More... | |
MlirAttribute | mlirLLVMComdatAttrGet (MlirContext ctx, MlirLLVMComdat comdat) |
Creates a LLVM Comdat attribute. More... | |
MlirAttribute | mlirLLVMLinkageAttrGet (MlirContext ctx, MlirLLVMLinkage linkage) |
Creates a LLVM Linkage attribute. More... | |
MlirAttribute | mlirLLVMDIFileAttrGet (MlirContext ctx, MlirAttribute name, MlirAttribute directory) |
Creates a LLVM DIFileAttr attribute. More... | |
MlirAttribute | mlirLLVMDICompileUnitAttrGet (MlirContext ctx, MlirAttribute id, unsigned int sourceLanguage, MlirAttribute file, MlirAttribute producer, bool isOptimized, MlirLLVMDIEmissionKind emissionKind, MlirLLVMDINameTableKind nameTableKind) |
Creates a LLVM DICompileUnit attribute. More... | |
MlirAttribute | mlirLLVMDIFlagsAttrGet (MlirContext ctx, uint64_t value) |
Creates a LLVM DIFlags attribute. More... | |
MlirAttribute | mlirLLVMDILexicalBlockAttrGet (MlirContext ctx, MlirAttribute scope, MlirAttribute file, unsigned int line, unsigned int column) |
Creates a LLVM DILexicalBlock attribute. More... | |
MlirAttribute | mlirLLVMDILexicalBlockFileAttrGet (MlirContext ctx, MlirAttribute scope, MlirAttribute file, unsigned int discriminator) |
Creates a LLVM DILexicalBlockFile attribute. More... | |
MlirAttribute | mlirLLVMDILocalVariableAttrGet (MlirContext ctx, MlirAttribute scope, MlirAttribute name, MlirAttribute diFile, unsigned int line, unsigned int arg, unsigned int alignInBits, MlirAttribute diType, int64_t flags) |
Creates a LLVM DILocalVariableAttr attribute. More... | |
MlirAttribute | mlirLLVMDISubroutineTypeAttrGet (MlirContext ctx, unsigned int callingConvention, intptr_t nTypes, MlirAttribute const *types) |
Creates a LLVM DISubroutineTypeAttr attribute. More... | |
MlirAttribute | mlirLLVMDISubprogramAttrGetRecSelf (MlirAttribute recId) |
Creates a self-referencing LLVM DISubprogramAttr attribute. More... | |
MlirAttribute | mlirLLVMDISubprogramAttrGet (MlirContext ctx, MlirAttribute recId, bool isRecSelf, MlirAttribute id, MlirAttribute compileUnit, MlirAttribute scope, MlirAttribute name, MlirAttribute linkageName, MlirAttribute file, unsigned int line, unsigned int scopeLine, uint64_t subprogramFlags, MlirAttribute type, intptr_t nRetainedNodes, MlirAttribute const *retainedNodes, intptr_t nAnnotations, MlirAttribute const *annotations) |
Creates a LLVM DISubprogramAttr attribute. More... | |
MlirAttribute | mlirLLVMDISubprogramAttrGetScope (MlirAttribute diSubprogram) |
Gets the scope from this DISubprogramAttr. More... | |
unsigned int | mlirLLVMDISubprogramAttrGetLine (MlirAttribute diSubprogram) |
Gets the line from this DISubprogramAttr. More... | |
unsigned int | mlirLLVMDISubprogramAttrGetScopeLine (MlirAttribute diSubprogram) |
Gets the scope line from this DISubprogram. More... | |
MlirAttribute | mlirLLVMDISubprogramAttrGetCompileUnit (MlirAttribute diSubprogram) |
Gets the compile unit from this DISubprogram. More... | |
MlirAttribute | mlirLLVMDISubprogramAttrGetFile (MlirAttribute diSubprogram) |
Gets the file from this DISubprogramAttr. More... | |
MlirAttribute | mlirLLVMDISubprogramAttrGetType (MlirAttribute diSubprogram) |
Gets the type from this DISubprogramAttr. More... | |
MlirAttribute | mlirLLVMDIModuleAttrGet (MlirContext ctx, MlirAttribute file, MlirAttribute scope, MlirAttribute name, MlirAttribute configMacros, MlirAttribute includePath, MlirAttribute apinotes, unsigned int line, bool isDecl) |
Creates a LLVM DIModuleAttr attribute. More... | |
MlirAttribute | mlirLLVMDIModuleAttrGetScope (MlirAttribute diModule) |
Gets the scope of this DIModuleAttr. More... | |
MlirAttribute | mlirLLVMDIImportedEntityAttrGet (MlirContext ctx, unsigned int tag, MlirAttribute scope, MlirAttribute entity, MlirAttribute file, unsigned int line, MlirAttribute name, intptr_t nElements, MlirAttribute const *elements) |
Creates a LLVM DIImportedEntityAttr attribute. More... | |
MlirAttribute | mlirLLVMDIAnnotationAttrGet (MlirContext ctx, MlirAttribute name, MlirAttribute value) |
Creates a LLVM DIAnnotation attribute. More... | |
MlirType mlirLLVMArrayTypeGet | ( | MlirType | elementType, |
unsigned | numElements | ||
) |
Creates an llvm.array type.
Definition at line 42 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMCConvAttrGet | ( | MlirContext | ctx, |
MlirLLVMCConv | cconv | ||
) |
Creates a LLVM CConv attribute.
Definition at line 220 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMComdatAttrGet | ( | MlirContext | ctx, |
MlirLLVMComdat | comdat | ||
) |
Creates a LLVM Comdat attribute.
Definition at line 224 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMDIAnnotationAttrGet | ( | MlirContext | ctx, |
MlirAttribute | name, | ||
MlirAttribute | value | ||
) |
Creates a LLVM DIAnnotation attribute.
Definition at line 387 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMDIBasicTypeAttrGet | ( | MlirContext | ctx, |
unsigned int | tag, | ||
MlirAttribute | name, | ||
uint64_t | sizeInBits, | ||
MlirLLVMTypeEncoding | encoding | ||
) |
Creates a LLVM DIBasicType attribute.
Definition at line 153 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMDICompileUnitAttrGet | ( | MlirContext | ctx, |
MlirAttribute | id, | ||
unsigned int | sourceLanguage, | ||
MlirAttribute | file, | ||
MlirAttribute | producer, | ||
bool | isOptimized, | ||
MlirLLVMDIEmissionKind | emissionKind, | ||
MlirLLVMDINameTableKind | nameTableKind | ||
) |
Creates a LLVM DICompileUnit attribute.
Definition at line 239 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMDICompositeTypeAttrGet | ( | MlirContext | ctx, |
MlirAttribute | recId, | ||
bool | isRecSelf, | ||
unsigned int | tag, | ||
MlirAttribute | name, | ||
MlirAttribute | file, | ||
uint32_t | line, | ||
MlirAttribute | scope, | ||
MlirAttribute | baseType, | ||
int64_t | flags, | ||
uint64_t | sizeInBits, | ||
uint64_t | alignInBits, | ||
intptr_t | nElements, | ||
MlirAttribute const * | elements, | ||
MlirAttribute | dataLocation, | ||
MlirAttribute | rank, | ||
MlirAttribute | allocated, | ||
MlirAttribute | associated | ||
) |
Creates a LLVM DICompositeType attribute.
Definition at line 167 of file LLVM.cpp.
References mlir::get(), unwrap(), unwrapList(), and wrap().
MlirAttribute mlirLLVMDICompositeTypeAttrGetRecSelf | ( | MlirAttribute | recId | ) |
MlirAttribute mlirLLVMDIDerivedTypeAttrGet | ( | MlirContext | ctx, |
unsigned int | tag, | ||
MlirAttribute | name, | ||
MlirAttribute | baseType, | ||
uint64_t | sizeInBits, | ||
uint32_t | alignInBits, | ||
uint64_t | offsetInBits, | ||
int64_t | dwarfAddressSpace, | ||
MlirAttribute | extraData | ||
) |
Creates a LLVM DIDerivedType attribute.
Note that dwarfAddressSpace
is an optional field, where MLIR_CAPI_DWARF_ADDRESS_SPACE_NULL
indicates null and non-negative values indicate a value present.
Definition at line 190 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMDIDerivedTypeAttrGetBaseType | ( | MlirAttribute | diDerivedType | ) |
MlirAttribute mlirLLVMDIExpressionAttrGet | ( | MlirContext | ctx, |
intptr_t | nOperations, | ||
MlirAttribute const * | operations | ||
) |
Creates a LLVM DIExpression attribute.
Definition at line 137 of file LLVM.cpp.
References mlir::get(), unwrap(), unwrapList(), and wrap().
MlirAttribute mlirLLVMDIExpressionElemAttrGet | ( | MlirContext | ctx, |
unsigned int | opcode, | ||
intptr_t | nArguments, | ||
uint64_t const * | arguments | ||
) |
Creates a LLVM DIExpressionElem attribute.
Definition at line 129 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMDIFileAttrGet | ( | MlirContext | ctx, |
MlirAttribute | name, | ||
MlirAttribute | directory | ||
) |
Creates a LLVM DIFileAttr attribute.
Definition at line 232 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMDIFlagsAttrGet | ( | MlirContext | ctx, |
uint64_t | value | ||
) |
Creates a LLVM DIFlags attribute.
Definition at line 251 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMDIImportedEntityAttrGet | ( | MlirContext | ctx, |
unsigned int | tag, | ||
MlirAttribute | scope, | ||
MlirAttribute | entity, | ||
MlirAttribute | file, | ||
unsigned int | line, | ||
MlirAttribute | name, | ||
intptr_t | nElements, | ||
MlirAttribute const * | elements | ||
) |
Creates a LLVM DIImportedEntityAttr attribute.
Definition at line 373 of file LLVM.cpp.
References mlir::get(), unwrap(), unwrapList(), and wrap().
MlirAttribute mlirLLVMDILexicalBlockAttrGet | ( | MlirContext | ctx, |
MlirAttribute | scope, | ||
MlirAttribute | file, | ||
unsigned int | line, | ||
unsigned int | column | ||
) |
Creates a LLVM DILexicalBlock attribute.
Definition at line 255 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMDILexicalBlockFileAttrGet | ( | MlirContext | ctx, |
MlirAttribute | scope, | ||
MlirAttribute | file, | ||
unsigned int | discriminator | ||
) |
Creates a LLVM DILexicalBlockFile attribute.
Definition at line 265 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMDILocalVariableAttrGet | ( | MlirContext | ctx, |
MlirAttribute | scope, | ||
MlirAttribute | name, | ||
MlirAttribute | diFile, | ||
unsigned int | line, | ||
unsigned int | arg, | ||
unsigned int | alignInBits, | ||
MlirAttribute | diType, | ||
int64_t | flags | ||
) |
Creates a LLVM DILocalVariableAttr attribute.
Definition at line 274 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMDIModuleAttrGet | ( | MlirContext | ctx, |
MlirAttribute | file, | ||
MlirAttribute | scope, | ||
MlirAttribute | name, | ||
MlirAttribute | configMacros, | ||
MlirAttribute | includePath, | ||
MlirAttribute | apinotes, | ||
unsigned int | line, | ||
bool | isDecl | ||
) |
Creates a LLVM DIModuleAttr attribute.
Definition at line 355 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMDIModuleAttrGetScope | ( | MlirAttribute | diModule | ) |
MlirAttribute mlirLLVMDINullTypeAttrGet | ( | MlirContext | ctx | ) |
Creates a LLVM DINullType attribute.
Definition at line 149 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMDIStringTypeAttrGet | ( | MlirContext | ctx, |
unsigned int | tag, | ||
MlirAttribute | name, | ||
uint64_t | sizeInBits, | ||
uint32_t | alignInBits, | ||
MlirAttribute | stringLength, | ||
MlirAttribute | stringLengthExp, | ||
MlirAttribute | stringLocationExp, | ||
MlirLLVMTypeEncoding | encoding | ||
) |
Definition at line 203 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirAttribute mlirLLVMDISubprogramAttrGet | ( | MlirContext | ctx, |
MlirAttribute | recId, | ||
bool | isRecSelf, | ||
MlirAttribute | id, | ||
MlirAttribute | compileUnit, | ||
MlirAttribute | scope, | ||
MlirAttribute | name, | ||
MlirAttribute | linkageName, | ||
MlirAttribute | file, | ||
unsigned int | line, | ||
unsigned int | scopeLine, | ||
uint64_t | subprogramFlags, | ||
MlirAttribute | type, | ||
intptr_t | nRetainedNodes, | ||
MlirAttribute const * | retainedNodes, | ||
intptr_t | nAnnotations, | ||
MlirAttribute const * | annotations | ||
) |
Creates a LLVM DISubprogramAttr attribute.
Definition at line 301 of file LLVM.cpp.
References mlir::get(), unwrap(), unwrapList(), and wrap().
MlirAttribute mlirLLVMDISubprogramAttrGetCompileUnit | ( | MlirAttribute | diSubprogram | ) |
MlirAttribute mlirLLVMDISubprogramAttrGetFile | ( | MlirAttribute | diSubprogram | ) |
unsigned int mlirLLVMDISubprogramAttrGetLine | ( | MlirAttribute | diSubprogram | ) |
MlirAttribute mlirLLVMDISubprogramAttrGetRecSelf | ( | MlirAttribute | recId | ) |
MlirAttribute mlirLLVMDISubprogramAttrGetScope | ( | MlirAttribute | diSubprogram | ) |
unsigned int mlirLLVMDISubprogramAttrGetScopeLine | ( | MlirAttribute | diSubprogram | ) |
MlirAttribute mlirLLVMDISubprogramAttrGetType | ( | MlirAttribute | diSubprogram | ) |
Gets the type from this DISubprogramAttr.
Definition at line 351 of file LLVM.cpp.
References mlir::getType(), unwrap(), and wrap().
MlirAttribute mlirLLVMDISubroutineTypeAttrGet | ( | MlirContext | ctx, |
unsigned int | callingConvention, | ||
intptr_t | nTypes, | ||
MlirAttribute const * | types | ||
) |
Creates a LLVM DISubroutineTypeAttr attribute.
Definition at line 284 of file LLVM.cpp.
References mlir::get(), unwrap(), unwrapList(), and wrap().
MlirType mlirLLVMFunctionTypeGet | ( | MlirType | resultType, |
intptr_t | nArgumentTypes, | ||
MlirType const * | argumentTypes, | ||
bool | isVarArg | ||
) |
Creates an llvm.func type.
Definition at line 46 of file LLVM.cpp.
References mlir::get(), unwrap(), unwrapList(), and wrap().
MlirAttribute mlirLLVMLinkageAttrGet | ( | MlirContext | ctx, |
MlirLLVMLinkage | linkage | ||
) |
Creates a LLVM Linkage attribute.
Definition at line 228 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
MlirType mlirLLVMPointerTypeGet | ( | MlirContext | ctx, |
unsigned | addressSpace | ||
) |
Creates an llvm.ptr type.
Definition at line 26 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
unsigned mlirLLVMPointerTypeGetAddressSpace | ( | MlirType | pointerType | ) |
MlirType mlirLLVMStructTypeGetElementType | ( | MlirType | type, |
intptr_t | position | ||
) |
MlirStringRef mlirLLVMStructTypeGetIdentifier | ( | MlirType | type | ) |
intptr_t mlirLLVMStructTypeGetNumElementTypes | ( | MlirType | type | ) |
MlirType mlirLLVMStructTypeIdentifiedGet | ( | MlirContext | ctx, |
MlirStringRef | name | ||
) |
Creates an LLVM identified struct type with no body.
If a struct type with this name already exists in the context, returns that type. Use mlirLLVMStructTypeIdentifiedNewGet to create a fresh struct type, potentially renaming it. The body should be set separatelty by calling mlirLLVMStructTypeSetBody, if it isn't set already.
MlirType mlirLLVMStructTypeIdentifiedNewGet | ( | MlirContext | ctx, |
MlirStringRef | name, | ||
intptr_t | nFieldTypes, | ||
MlirType const * | fieldTypes, | ||
bool | isPacked | ||
) |
Creates an LLVM identified struct type with no body and a name starting with the given prefix.
If a struct with the exact name as the given prefix already exists, appends an unspecified suffix to the name so that the name is unique in context.
Definition at line 109 of file LLVM.cpp.
References unwrap(), unwrapList(), and wrap().
bool mlirLLVMStructTypeIsLiteral | ( | MlirType | type | ) |
bool mlirLLVMStructTypeIsOpaque | ( | MlirType | type | ) |
bool mlirLLVMStructTypeIsPacked | ( | MlirType | type | ) |
MlirType mlirLLVMStructTypeLiteralGet | ( | MlirContext | ctx, |
intptr_t | nFieldTypes, | ||
MlirType const * | fieldTypes, | ||
bool | isPacked | ||
) |
Creates an LLVM literal (unnamed) struct type.
This may assert if the fields have types not compatible with the LLVM dialect. For a graceful failure, use the checked version.
Definition at line 82 of file LLVM.cpp.
References unwrap(), unwrapList(), and wrap().
MlirType mlirLLVMStructTypeLiteralGetChecked | ( | MlirLocation | loc, |
intptr_t | nFieldTypes, | ||
MlirType const * | fieldTypes, | ||
bool | isPacked | ||
) |
Creates an LLVM literal (unnamed) struct type if possible.
Emits a diagnostic at the given location and returns null otherwise.
Definition at line 91 of file LLVM.cpp.
References mlir::emitError(), unwrap(), unwrapList(), and wrap().
MlirType mlirLLVMStructTypeOpaqueGet | ( | MlirContext | ctx, |
MlirStringRef | name | ||
) |
MlirLogicalResult mlirLLVMStructTypeSetBody | ( | MlirType | structType, |
intptr_t | nFieldTypes, | ||
MlirType const * | fieldTypes, | ||
bool | isPacked | ||
) |
Sets the body of the identified struct if it hasn't been set yet.
Returns whether the operation was successful.
Definition at line 119 of file LLVM.cpp.
References unwrap(), unwrapList(), and wrap().
MlirType mlirLLVMVoidTypeGet | ( | MlirContext | ctx | ) |
Creates an llmv.void type.
Definition at line 38 of file LLVM.cpp.
References mlir::get(), unwrap(), and wrap().
bool mlirTypeIsALLVMPointerType | ( | MlirType | type | ) |