LLVM 20.0.0git
Modules | Functions

Types represent the type of a value. More...

Collaboration diagram for Types:

Modules

 Integer Types
 Functions in this section operate on integer types.
 
 Floating Point Types
 
 Function Types
 
 Structure Types
 These functions relate to LLVMTypeRef instances.
 
 Sequential Types
 Sequential types represents "arrays" of types.
 
 Other Types
 

Functions

LLVMTypeKind LLVMGetTypeKind (LLVMTypeRef Ty)
 Obtain the enumerated type of a Type instance.
 
LLVMBool LLVMTypeIsSized (LLVMTypeRef Ty)
 Whether the type has a known size.
 
LLVMContextRef LLVMGetTypeContext (LLVMTypeRef Ty)
 Obtain the context to which this type instance is associated.
 
void LLVMDumpType (LLVMTypeRef Val)
 Dump a representation of a type to stderr.
 
charLLVMPrintTypeToString (LLVMTypeRef Val)
 Return a string representation of the type.
 

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()

Definition at line 642 of file Core.cpp.

References llvm::errs(), llvm::BasicBlock::print(), and unwrap().

◆ LLVMGetTypeContext()

LLVMContextRef LLVMGetTypeContext ( LLVMTypeRef  Ty)

Obtain the context to which this type instance is associated.

See also
llvm::Type::getContext()

Definition at line 638 of file Core.cpp.

References unwrap(), and llvm::wrap().

◆ LLVMGetTypeKind()

LLVMTypeKind LLVMGetTypeKind ( LLVMTypeRef  Ty)

◆ LLVMPrintTypeToString()

char * LLVMPrintTypeToString ( LLVMTypeRef  Val)

Return a string representation of the type.

Use LLVMDisposeMessage to free the string.

See also
llvm::Type::print()

Definition at line 646 of file Core.cpp.

References llvm::raw_ostream::flush(), llvm::BasicBlock::print(), and unwrap().

◆ 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()

Definition at line 633 of file Core.cpp.

References unwrap().