LLVM  mainline
Modules | Functions
Types
Core

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.
char * LLVMPrintTypeToString (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

void LLVMDumpType ( LLVMTypeRef  Val)

Dump a representation of a type to stderr.

See also:
llvm::Type::dump()

Definition at line 278 of file Core.cpp.

References llvm::unwrap().

Obtain the context to which this type instance is associated.

See also:
llvm::Type::getContext()

Definition at line 274 of file Core.cpp.

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

Return a string representation of the type.

Use LLVMDisposeMessage to free the string.

See also:
llvm::Type::print()

Definition at line 282 of file Core.cpp.

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

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 269 of file Core.cpp.

References llvm::unwrap().