MLIR 22.0.0git
LLVM.cpp File Reference
#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.
MlirStringRef mlirLLVMPointerTypeGetName (void)
MlirTypeID mlirLLVMPointerTypeGetTypeID ()
bool mlirTypeIsALLVMPointerType (MlirType type)
 Returns true if the type is an LLVM dialect pointer type.
unsigned mlirLLVMPointerTypeGetAddressSpace (MlirType pointerType)
 Returns address space of llvm.ptr.
MlirType mlirLLVMVoidTypeGet (MlirContext ctx)
 Creates an llmv.void type.
MlirStringRef mlirLLVMVoidTypeGetName (void)
MlirType mlirLLVMArrayTypeGet (MlirType elementType, unsigned numElements)
 Creates an llvm.array type.
MlirStringRef mlirLLVMArrayTypeGetName (void)
MlirType mlirLLVMArrayTypeGetElementType (MlirType type)
 Returns the element type of the llvm.array type.
MlirType mlirLLVMFunctionTypeGet (MlirType resultType, intptr_t nArgumentTypes, MlirType const *argumentTypes, bool isVarArg)
 Creates an llvm.func type.
MlirStringRef mlirLLVMFunctionTypeGetName (void)
intptr_t mlirLLVMFunctionTypeGetNumInputs (MlirType type)
 Returns the number of input types.
MlirType mlirLLVMFunctionTypeGetInput (MlirType type, intptr_t pos)
 Returns the pos-th input type.
MlirType mlirLLVMFunctionTypeGetReturnType (MlirType type)
 Returns the return type of the function type.
bool mlirTypeIsALLVMStructType (MlirType type)
 Returns true if the type is an LLVM dialect struct type.
MlirTypeID mlirLLVMStructTypeGetTypeID ()
MlirStringRef mlirLLVMStructTypeGetName (void)
bool mlirLLVMStructTypeIsLiteral (MlirType type)
 Returns true if the type is a literal (unnamed) LLVM struct type.
intptr_t mlirLLVMStructTypeGetNumElementTypes (MlirType type)
 Returns the number of fields in the struct.
MlirType mlirLLVMStructTypeGetElementType (MlirType type, intptr_t position)
 Returns the positions-th field of the struct.
bool mlirLLVMStructTypeIsPacked (MlirType type)
 Returns true if the struct is packed.
MlirStringRef mlirLLVMStructTypeGetIdentifier (MlirType type)
 Returns the identifier of the identified struct.
bool mlirLLVMStructTypeIsOpaque (MlirType type)
 Returns true is the struct is explicitly opaque (will not have a body) or uninitialized (will eventually have a body).
MlirType mlirLLVMStructTypeLiteralGet (MlirContext ctx, intptr_t nFieldTypes, MlirType const *fieldTypes, bool isPacked)
 Creates an LLVM literal (unnamed) struct type.
MlirType mlirLLVMStructTypeLiteralGetChecked (MlirLocation loc, intptr_t nFieldTypes, MlirType const *fieldTypes, bool isPacked)
 Creates an LLVM literal (unnamed) struct type if possible.
MlirType mlirLLVMStructTypeOpaqueGet (MlirContext ctx, MlirStringRef name)
MlirType mlirLLVMStructTypeIdentifiedGet (MlirContext ctx, MlirStringRef name)
 Creates an LLVM identified struct type with no body.
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.
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.
MlirAttribute mlirLLVMDIExpressionElemAttrGet (MlirContext ctx, unsigned int opcode, intptr_t nArguments, uint64_t const *arguments)
 Creates a LLVM DIExpressionElem attribute.
MlirStringRef mlirLLVMDIExpressionElemAttrGetName (void)
MlirAttribute mlirLLVMDIExpressionAttrGet (MlirContext ctx, intptr_t nOperations, MlirAttribute const *operations)
 Creates a LLVM DIExpression attribute.
MlirStringRef mlirLLVMDIExpressionAttrGetName (void)
MlirAttribute mlirLLVMDINullTypeAttrGet (MlirContext ctx)
 Creates a LLVM DINullType attribute.
MlirStringRef mlirLLVMDINullTypeAttrGetName (void)
MlirAttribute mlirLLVMDIBasicTypeAttrGet (MlirContext ctx, unsigned int tag, MlirAttribute name, uint64_t sizeInBits, MlirLLVMTypeEncoding encoding)
 Creates a LLVM DIBasicType attribute.
MlirStringRef mlirLLVMDIBasicTypeAttrGetName (void)
MlirAttribute mlirLLVMDICompositeTypeAttrGetRecSelf (MlirAttribute recId)
 Creates a self-referencing LLVM DICompositeType attribute.
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.
MlirStringRef mlirLLVMDICompositeTypeAttrGetName (void)
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.
MlirStringRef mlirLLVMDIDerivedTypeAttrGetName (void)
MlirAttribute mlirLLVMDIStringTypeAttrGet (MlirContext ctx, unsigned int tag, MlirAttribute name, uint64_t sizeInBits, uint32_t alignInBits, MlirAttribute stringLength, MlirAttribute stringLengthExp, MlirAttribute stringLocationExp, MlirLLVMTypeEncoding encoding)
MlirStringRef mlirLLVMDIStringTypeAttrGetName (void)
MlirAttribute mlirLLVMDIDerivedTypeAttrGetBaseType (MlirAttribute diDerivedType)
 Gets the base type from a LLVM DIDerivedType attribute.
MlirAttribute mlirLLVMCConvAttrGet (MlirContext ctx, MlirLLVMCConv cconv)
 Creates a LLVM CConv attribute.
MlirStringRef mlirLLVMCConvAttrGetName (void)
MlirAttribute mlirLLVMComdatAttrGet (MlirContext ctx, MlirLLVMComdat comdat)
 Creates a LLVM Comdat attribute.
MlirStringRef mlirLLVMComdatAttrGetName (void)
MlirAttribute mlirLLVMLinkageAttrGet (MlirContext ctx, MlirLLVMLinkage linkage)
 Creates a LLVM Linkage attribute.
MlirStringRef mlirLLVMLinkageAttrGetName (void)
MlirAttribute mlirLLVMDIFileAttrGet (MlirContext ctx, MlirAttribute name, MlirAttribute directory)
 Creates a LLVM DIFileAttr attribute.
MlirStringRef mlirLLVMDIFileAttrGetName (void)
MlirAttribute mlirLLVMDICompileUnitAttrGet (MlirContext ctx, MlirAttribute id, unsigned int sourceLanguage, MlirAttribute file, MlirAttribute producer, bool isOptimized, MlirLLVMDIEmissionKind emissionKind, MlirLLVMDINameTableKind nameTableKind, MlirAttribute splitDebugFilename)
 Creates a LLVM DICompileUnit attribute.
MlirStringRef mlirLLVMDICompileUnitAttrGetName (void)
MlirAttribute mlirLLVMDIFlagsAttrGet (MlirContext ctx, uint64_t value)
 Creates a LLVM DIFlags attribute.
MlirStringRef mlirLLVMDIFlagsAttrGetName (void)
MlirAttribute mlirLLVMDILexicalBlockAttrGet (MlirContext ctx, MlirAttribute scope, MlirAttribute file, unsigned int line, unsigned int column)
 Creates a LLVM DILexicalBlock attribute.
MlirStringRef mlirLLVMDILexicalBlockAttrGetName (void)
MlirAttribute mlirLLVMDILexicalBlockFileAttrGet (MlirContext ctx, MlirAttribute scope, MlirAttribute file, unsigned int discriminator)
 Creates a LLVM DILexicalBlockFile attribute.
MlirStringRef mlirLLVMDILexicalBlockFileAttrGetName (void)
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.
MlirStringRef mlirLLVMDILocalVariableAttrGetName (void)
MlirAttribute mlirLLVMDISubroutineTypeAttrGet (MlirContext ctx, unsigned int callingConvention, intptr_t nTypes, MlirAttribute const *types)
 Creates a LLVM DISubroutineTypeAttr attribute.
MlirStringRef mlirLLVMDISubroutineTypeAttrGetName (void)
MlirAttribute mlirLLVMDISubprogramAttrGetRecSelf (MlirAttribute recId)
 Creates a self-referencing LLVM DISubprogramAttr attribute.
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.
MlirStringRef mlirLLVMDISubprogramAttrGetName (void)
MlirAttribute mlirLLVMDISubprogramAttrGetScope (MlirAttribute diSubprogram)
 Gets the scope from this DISubprogramAttr.
unsigned int mlirLLVMDISubprogramAttrGetLine (MlirAttribute diSubprogram)
 Gets the line from this DISubprogramAttr.
unsigned int mlirLLVMDISubprogramAttrGetScopeLine (MlirAttribute diSubprogram)
 Gets the scope line from this DISubprogram.
MlirAttribute mlirLLVMDISubprogramAttrGetCompileUnit (MlirAttribute diSubprogram)
 Gets the compile unit from this DISubprogram.
MlirAttribute mlirLLVMDISubprogramAttrGetFile (MlirAttribute diSubprogram)
 Gets the file from this DISubprogramAttr.
MlirAttribute mlirLLVMDISubprogramAttrGetType (MlirAttribute diSubprogram)
 Gets the type from this DISubprogramAttr.
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.
MlirStringRef mlirLLVMDIModuleAttrGetName (void)
MlirAttribute mlirLLVMDIModuleAttrGetScope (MlirAttribute diModule)
 Gets the scope of this DIModuleAttr.
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.
MlirStringRef mlirLLVMDIImportedEntityAttrGetName (void)
MlirAttribute mlirLLVMDIAnnotationAttrGet (MlirContext ctx, MlirAttribute name, MlirAttribute value)
 Creates a LLVM DIAnnotation attribute.
MlirStringRef mlirLLVMDIAnnotationAttrGetName (void)

Function Documentation

◆ mlirLLVMArrayTypeGet()

MlirType mlirLLVMArrayTypeGet ( MlirType elementType,
unsigned numElements )

Creates an llvm.array type.

Definition at line 52 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMArrayTypeGetElementType()

MlirType mlirLLVMArrayTypeGetElementType ( MlirType type)

Returns the element type of the llvm.array type.

Definition at line 60 of file LLVM.cpp.

References getElementType(), unwrap(), and wrap().

◆ mlirLLVMArrayTypeGetName()

MlirStringRef mlirLLVMArrayTypeGetName ( void )

Definition at line 56 of file LLVM.cpp.

References wrap().

◆ mlirLLVMCConvAttrGet()

MlirAttribute mlirLLVMCConvAttrGet ( MlirContext ctx,
MlirLLVMCConv cconv )

Creates a LLVM CConv attribute.

Definition at line 291 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMCConvAttrGetName()

MlirStringRef mlirLLVMCConvAttrGetName ( void )

Definition at line 295 of file LLVM.cpp.

References wrap().

◆ mlirLLVMComdatAttrGet()

MlirAttribute mlirLLVMComdatAttrGet ( MlirContext ctx,
MlirLLVMComdat comdat )

Creates a LLVM Comdat attribute.

Definition at line 297 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMComdatAttrGetName()

MlirStringRef mlirLLVMComdatAttrGetName ( void )

Definition at line 301 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDIAnnotationAttrGet()

MlirAttribute mlirLLVMDIAnnotationAttrGet ( MlirContext ctx,
MlirAttribute name,
MlirAttribute value )

Creates a LLVM DIAnnotation attribute.

Definition at line 503 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDIAnnotationAttrGetName()

MlirStringRef mlirLLVMDIAnnotationAttrGetName ( void )

Definition at line 509 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDIBasicTypeAttrGet()

MlirAttribute mlirLLVMDIBasicTypeAttrGet ( MlirContext ctx,
unsigned int tag,
MlirAttribute name,
uint64_t sizeInBits,
MlirLLVMTypeEncoding encoding )

Creates a LLVM DIBasicType attribute.

Definition at line 208 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDIBasicTypeAttrGetName()

MlirStringRef mlirLLVMDIBasicTypeAttrGetName ( void )

Definition at line 217 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDICompileUnitAttrGet()

MlirAttribute mlirLLVMDICompileUnitAttrGet ( MlirContext ctx,
MlirAttribute id,
unsigned int sourceLanguage,
MlirAttribute file,
MlirAttribute producer,
bool isOptimized,
MlirLLVMDIEmissionKind emissionKind,
MlirLLVMDINameTableKind nameTableKind,
MlirAttribute splitDebugFilename )

Creates a LLVM DICompileUnit attribute.

Definition at line 319 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDICompileUnitAttrGetName()

MlirStringRef mlirLLVMDICompileUnitAttrGetName ( void )

Definition at line 331 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDICompositeTypeAttrGet()

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 226 of file LLVM.cpp.

References unwrap(), unwrapList(), and wrap().

◆ mlirLLVMDICompositeTypeAttrGetName()

MlirStringRef mlirLLVMDICompositeTypeAttrGetName ( void )

Definition at line 249 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDICompositeTypeAttrGetRecSelf()

MlirAttribute mlirLLVMDICompositeTypeAttrGetRecSelf ( MlirAttribute recId)

Creates a self-referencing LLVM DICompositeType attribute.

Definition at line 221 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDIDerivedTypeAttrGet()

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 253 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDIDerivedTypeAttrGetBaseType()

MlirAttribute mlirLLVMDIDerivedTypeAttrGetBaseType ( MlirAttribute diDerivedType)

Gets the base type from a LLVM DIDerivedType attribute.

Definition at line 287 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDIDerivedTypeAttrGetName()

MlirStringRef mlirLLVMDIDerivedTypeAttrGetName ( void )

Definition at line 266 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDIExpressionAttrGet()

MlirAttribute mlirLLVMDIExpressionAttrGet ( MlirContext ctx,
intptr_t nOperations,
MlirAttribute const * operations )

Creates a LLVM DIExpression attribute.

Definition at line 185 of file LLVM.cpp.

References unwrap(), unwrapList(), and wrap().

◆ mlirLLVMDIExpressionAttrGetName()

MlirStringRef mlirLLVMDIExpressionAttrGetName ( void )

Definition at line 196 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDIExpressionElemAttrGet()

MlirAttribute mlirLLVMDIExpressionElemAttrGet ( MlirContext ctx,
unsigned int opcode,
intptr_t nArguments,
uint64_t const * arguments )

Creates a LLVM DIExpressionElem attribute.

Definition at line 173 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDIExpressionElemAttrGetName()

MlirStringRef mlirLLVMDIExpressionElemAttrGetName ( void )

Definition at line 181 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDIFileAttrGet()

MlirAttribute mlirLLVMDIFileAttrGet ( MlirContext ctx,
MlirAttribute name,
MlirAttribute directory )

Creates a LLVM DIFileAttr attribute.

Definition at line 311 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDIFileAttrGetName()

MlirStringRef mlirLLVMDIFileAttrGetName ( void )

Definition at line 317 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDIFlagsAttrGet()

MlirAttribute mlirLLVMDIFlagsAttrGet ( MlirContext ctx,
uint64_t value )

Creates a LLVM DIFlags attribute.

Definition at line 335 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDIFlagsAttrGetName()

MlirStringRef mlirLLVMDIFlagsAttrGetName ( void )

Definition at line 339 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDIImportedEntityAttrGet()

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 485 of file LLVM.cpp.

References unwrap(), unwrapList(), and wrap().

◆ mlirLLVMDIImportedEntityAttrGetName()

MlirStringRef mlirLLVMDIImportedEntityAttrGetName ( void )

Definition at line 499 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDILexicalBlockAttrGet()

MlirAttribute mlirLLVMDILexicalBlockAttrGet ( MlirContext ctx,
MlirAttribute scope,
MlirAttribute file,
unsigned int line,
unsigned int column )

Creates a LLVM DILexicalBlock attribute.

Definition at line 343 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDILexicalBlockAttrGetName()

MlirStringRef mlirLLVMDILexicalBlockAttrGetName ( void )

Definition at line 353 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDILexicalBlockFileAttrGet()

MlirAttribute mlirLLVMDILexicalBlockFileAttrGet ( MlirContext ctx,
MlirAttribute scope,
MlirAttribute file,
unsigned int discriminator )

Creates a LLVM DILexicalBlockFile attribute.

Definition at line 357 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDILexicalBlockFileAttrGetName()

MlirStringRef mlirLLVMDILexicalBlockFileAttrGetName ( void )

Definition at line 366 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDILocalVariableAttrGet()

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 370 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDILocalVariableAttrGetName()

MlirStringRef mlirLLVMDILocalVariableAttrGetName ( void )

Definition at line 380 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDIModuleAttrGet()

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 463 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDIModuleAttrGetName()

MlirStringRef mlirLLVMDIModuleAttrGetName ( void )

Definition at line 477 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDIModuleAttrGetScope()

MlirAttribute mlirLLVMDIModuleAttrGetScope ( MlirAttribute diModule)

Gets the scope of this DIModuleAttr.

Definition at line 481 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDINullTypeAttrGet()

MlirAttribute mlirLLVMDINullTypeAttrGet ( MlirContext ctx)

Creates a LLVM DINullType attribute.

Definition at line 200 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDINullTypeAttrGetName()

MlirStringRef mlirLLVMDINullTypeAttrGetName ( void )

Definition at line 204 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDIStringTypeAttrGet()

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 270 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDIStringTypeAttrGetName()

MlirStringRef mlirLLVMDIStringTypeAttrGetName ( void )

Definition at line 282 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDISubprogramAttrGet()

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 405 of file LLVM.cpp.

References unwrap(), unwrapList(), and wrap().

◆ mlirLLVMDISubprogramAttrGetCompileUnit()

MlirAttribute mlirLLVMDISubprogramAttrGetCompileUnit ( MlirAttribute diSubprogram)

Gets the compile unit from this DISubprogram.

Definition at line 451 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDISubprogramAttrGetFile()

MlirAttribute mlirLLVMDISubprogramAttrGetFile ( MlirAttribute diSubprogram)

Gets the file from this DISubprogramAttr.

Definition at line 455 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDISubprogramAttrGetLine()

unsigned int mlirLLVMDISubprogramAttrGetLine ( MlirAttribute diSubprogram)

Gets the line from this DISubprogramAttr.

Definition at line 442 of file LLVM.cpp.

References unwrap().

◆ mlirLLVMDISubprogramAttrGetName()

MlirStringRef mlirLLVMDISubprogramAttrGetName ( void )

Definition at line 434 of file LLVM.cpp.

References wrap().

◆ mlirLLVMDISubprogramAttrGetRecSelf()

MlirAttribute mlirLLVMDISubprogramAttrGetRecSelf ( MlirAttribute recId)

Creates a self-referencing LLVM DISubprogramAttr attribute.

Definition at line 401 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDISubprogramAttrGetScope()

MlirAttribute mlirLLVMDISubprogramAttrGetScope ( MlirAttribute diSubprogram)

Gets the scope from this DISubprogramAttr.

Definition at line 438 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMDISubprogramAttrGetScopeLine()

unsigned int mlirLLVMDISubprogramAttrGetScopeLine ( MlirAttribute diSubprogram)

Gets the scope line from this DISubprogram.

Definition at line 446 of file LLVM.cpp.

References unwrap().

◆ mlirLLVMDISubprogramAttrGetType()

MlirAttribute mlirLLVMDISubprogramAttrGetType ( MlirAttribute diSubprogram)

Gets the type from this DISubprogramAttr.

Definition at line 459 of file LLVM.cpp.

References mlir::getType(), unwrap(), and wrap().

◆ mlirLLVMDISubroutineTypeAttrGet()

MlirAttribute mlirLLVMDISubroutineTypeAttrGet ( MlirContext ctx,
unsigned int callingConvention,
intptr_t nTypes,
MlirAttribute const * types )

Creates a LLVM DISubroutineTypeAttr attribute.

Definition at line 384 of file LLVM.cpp.

References unwrap(), unwrapList(), and wrap().

◆ mlirLLVMDISubroutineTypeAttrGetName()

MlirStringRef mlirLLVMDISubroutineTypeAttrGetName ( void )

Definition at line 397 of file LLVM.cpp.

References wrap().

◆ mlirLLVMFunctionTypeGet()

MlirType mlirLLVMFunctionTypeGet ( MlirType resultType,
intptr_t nArgumentTypes,
MlirType const * argumentTypes,
bool isVarArg )

Creates an llvm.func type.

Definition at line 64 of file LLVM.cpp.

References unwrap(), unwrapList(), and wrap().

◆ mlirLLVMFunctionTypeGetInput()

MlirType mlirLLVMFunctionTypeGetInput ( MlirType type,
intptr_t pos )

Returns the pos-th input type.

Definition at line 80 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMFunctionTypeGetName()

MlirStringRef mlirLLVMFunctionTypeGetName ( void )

Definition at line 72 of file LLVM.cpp.

References wrap().

◆ mlirLLVMFunctionTypeGetNumInputs()

intptr_t mlirLLVMFunctionTypeGetNumInputs ( MlirType type)

Returns the number of input types.

Definition at line 76 of file LLVM.cpp.

References unwrap().

◆ mlirLLVMFunctionTypeGetReturnType()

MlirType mlirLLVMFunctionTypeGetReturnType ( MlirType type)

Returns the return type of the function type.

Definition at line 86 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMLinkageAttrGet()

MlirAttribute mlirLLVMLinkageAttrGet ( MlirContext ctx,
MlirLLVMLinkage linkage )

Creates a LLVM Linkage attribute.

Definition at line 303 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMLinkageAttrGetName()

MlirStringRef mlirLLVMLinkageAttrGetName ( void )

Definition at line 307 of file LLVM.cpp.

References wrap().

◆ mlirLLVMPointerTypeGet()

MlirType mlirLLVMPointerTypeGet ( MlirContext ctx,
unsigned addressSpace )

Creates an llvm.ptr type.

Definition at line 26 of file LLVM.cpp.

References mlirLLVMPointerTypeGet(), unwrap(), and wrap().

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::llvm::PointerType::bindDerived(), and mlirLLVMPointerTypeGet().

◆ mlirLLVMPointerTypeGetAddressSpace()

unsigned mlirLLVMPointerTypeGetAddressSpace ( MlirType pointerType)

Returns address space of llvm.ptr.

Definition at line 42 of file LLVM.cpp.

References unwrap().

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::llvm::PointerType::bindDerived().

◆ mlirLLVMPointerTypeGetName()

MlirStringRef mlirLLVMPointerTypeGetName ( void )

Definition at line 30 of file LLVM.cpp.

References wrap().

◆ mlirLLVMPointerTypeGetTypeID()

MlirTypeID mlirLLVMPointerTypeGetTypeID ( void )

Definition at line 34 of file LLVM.cpp.

References wrap().

◆ mlirLLVMStructTypeGetElementType()

MlirType mlirLLVMStructTypeGetElementType ( MlirType type,
intptr_t position )

Returns the positions-th field of the struct.

Asserts if the struct is opaque, not yet initialized or if the position is out of range.

Definition at line 110 of file LLVM.cpp.

References unwrap(), and wrap().

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::llvm::StructType::bindDerived().

◆ mlirLLVMStructTypeGetIdentifier()

MlirStringRef mlirLLVMStructTypeGetIdentifier ( MlirType type)

Returns the identifier of the identified struct.

Asserts that the struct is identified, i.e., not literal.

Definition at line 118 of file LLVM.cpp.

References unwrap(), and wrap().

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::llvm::StructType::bindDerived().

◆ mlirLLVMStructTypeGetName()

MlirStringRef mlirLLVMStructTypeGetName ( void )

Definition at line 98 of file LLVM.cpp.

References wrap().

◆ mlirLLVMStructTypeGetNumElementTypes()

intptr_t mlirLLVMStructTypeGetNumElementTypes ( MlirType type)

Returns the number of fields in the struct.

Asserts if the struct is opaque or not yet initialized.

Definition at line 106 of file LLVM.cpp.

References unwrap().

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::llvm::StructType::bindDerived().

◆ mlirLLVMStructTypeGetTypeID()

MlirTypeID mlirLLVMStructTypeGetTypeID ( void )

Definition at line 94 of file LLVM.cpp.

References wrap().

◆ mlirLLVMStructTypeIdentifiedGet()

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.

Definition at line 149 of file LLVM.cpp.

References unwrap(), and wrap().

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::llvm::StructType::bindDerived().

◆ mlirLLVMStructTypeIdentifiedNewGet()

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 153 of file LLVM.cpp.

References unwrap(), unwrapList(), and wrap().

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::llvm::StructType::bindDerived().

◆ mlirLLVMStructTypeIsLiteral()

bool mlirLLVMStructTypeIsLiteral ( MlirType type)

Returns true if the type is a literal (unnamed) LLVM struct type.

Definition at line 102 of file LLVM.cpp.

References unwrap().

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::llvm::StructType::bindDerived().

◆ mlirLLVMStructTypeIsOpaque()

bool mlirLLVMStructTypeIsOpaque ( MlirType type)

Returns true is the struct is explicitly opaque (will not have a body) or uninitialized (will eventually have a body).

Definition at line 122 of file LLVM.cpp.

References unwrap().

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::llvm::StructType::bindDerived().

◆ mlirLLVMStructTypeIsPacked()

bool mlirLLVMStructTypeIsPacked ( MlirType type)

Returns true if the struct is packed.

Definition at line 114 of file LLVM.cpp.

References unwrap().

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::llvm::StructType::bindDerived().

◆ mlirLLVMStructTypeLiteralGet()

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 126 of file LLVM.cpp.

References unwrap(), unwrapList(), and wrap().

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::llvm::StructType::bindDerived().

◆ mlirLLVMStructTypeLiteralGetChecked()

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 135 of file LLVM.cpp.

References mlir::emitError(), unwrap(), unwrapList(), and wrap().

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::llvm::StructType::bindDerived().

◆ mlirLLVMStructTypeOpaqueGet()

MlirType mlirLLVMStructTypeOpaqueGet ( MlirContext ctx,
MlirStringRef name )

Definition at line 145 of file LLVM.cpp.

References unwrap(), and wrap().

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::llvm::StructType::bindDerived().

◆ mlirLLVMStructTypeSetBody()

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 163 of file LLVM.cpp.

References unwrap(), unwrapList(), and wrap().

Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::llvm::StructType::bindDerived().

◆ mlirLLVMVoidTypeGet()

MlirType mlirLLVMVoidTypeGet ( MlirContext ctx)

Creates an llmv.void type.

Definition at line 46 of file LLVM.cpp.

References unwrap(), and wrap().

◆ mlirLLVMVoidTypeGetName()

MlirStringRef mlirLLVMVoidTypeGetName ( void )

Definition at line 50 of file LLVM.cpp.

References wrap().

◆ mlirTypeIsALLVMPointerType()

bool mlirTypeIsALLVMPointerType ( MlirType type)

Returns true if the type is an LLVM dialect pointer type.

Definition at line 38 of file LLVM.cpp.

References unwrap().

◆ mlirTypeIsALLVMStructType()

bool mlirTypeIsALLVMStructType ( MlirType type)

Returns true if the type is an LLVM dialect struct type.

Definition at line 90 of file LLVM.cpp.

References unwrap().