Project Alice
Loading...
Searching...
No Matches
Collaboration diagram for Types:

Modules

 Integer Types
 
 Floating Point Types
 
 Function Types
 
 Structure Types
 
 Sequential Types
 
 Other Types
 

Functions

LLVMTypeKind LLVMGetTypeKind (LLVMTypeRef Ty)
 
LLVMBool LLVMTypeIsSized (LLVMTypeRef Ty)
 
LLVMContextRef LLVMGetTypeContext (LLVMTypeRef Ty)
 
void LLVMDumpType (LLVMTypeRef Val)
 
char * LLVMPrintTypeToString (LLVMTypeRef Val)
 

Detailed Description

Types represent the type of a value.

Types are associated with a context instance. The context internally deduplicates types so there is only 1 instance of a specific type alive at a time. In other words, a unique type is shared among all consumers within a context.

A Type in the C API corresponds to llvm::Type.

Types have the following hierarchy:

types: integer type real type function type sequence types: array type pointer type vector type void type label type opaque type

Function Documentation

◆ LLVMDumpType()

void LLVMDumpType ( LLVMTypeRef  Val)

Dump a representation of a type to stderr.

See also
llvm::Type::dump()

◆ LLVMGetTypeContext()

LLVMContextRef LLVMGetTypeContext ( LLVMTypeRef  Ty)

Obtain the context to which this type instance is associated.

See also
llvm::Type::getContext()

◆ LLVMGetTypeKind()

LLVMTypeKind LLVMGetTypeKind ( LLVMTypeRef  Ty)

Obtain the enumerated type of a Type instance.

See also
llvm::Type:getTypeID()

◆ LLVMPrintTypeToString()

char * LLVMPrintTypeToString ( LLVMTypeRef  Val)

Return a string representation of the type. Use LLVMDisposeMessage to free the string.

See also
llvm::Type::print()

◆ LLVMTypeIsSized()

LLVMBool LLVMTypeIsSized ( LLVMTypeRef  Ty)

Whether the type has a known size.

Things that don't have a size are abstract types, labels, and void.a

See also
llvm::Type::isSized()