LLVM
8.0.1
|
Types represent the type of a value. More...
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. More... | |
LLVMBool | LLVMTypeIsSized (LLVMTypeRef Ty) |
Whether the type has a known size. More... | |
LLVMContextRef | LLVMGetTypeContext (LLVMTypeRef Ty) |
Obtain the context to which this type instance is associated. More... | |
void | LLVMDumpType (LLVMTypeRef Val) |
Dump a representation of a type to stderr. More... | |
char * | LLVMPrintTypeToString (LLVMTypeRef Val) |
Return a string representation of the type. More... | |
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
void LLVMDumpType | ( | LLVMTypeRef | Val | ) |
Dump a representation of a type to stderr.
Definition at line 518 of file Core.cpp.
References llvm::errs(), and llvm::unwrap().
LLVMContextRef LLVMGetTypeContext | ( | LLVMTypeRef | Ty | ) |
Obtain the context to which this type instance is associated.
Definition at line 514 of file Core.cpp.
References llvm::unwrap(), and llvm::wrap().
LLVMTypeKind LLVMGetTypeKind | ( | LLVMTypeRef | Ty | ) |
Obtain the enumerated type of a Type instance.
Definition at line 469 of file Core.cpp.
References llvm::Type::ArrayTyID, llvm::Type::DoubleTyID, llvm::Type::FloatTyID, llvm::Type::FP128TyID, llvm::Type::FunctionTyID, getTypeID(), llvm::Type::HalfTyID, llvm::Type::IntegerTyID, llvm::Type::LabelTyID, llvm_unreachable, LLVMArrayTypeKind, LLVMDoubleTypeKind, LLVMFloatTypeKind, LLVMFP128TypeKind, LLVMFunctionTypeKind, LLVMHalfTypeKind, LLVMIntegerTypeKind, LLVMLabelTypeKind, LLVMMetadataTypeKind, LLVMPointerTypeKind, LLVMPPC_FP128TypeKind, LLVMStructTypeKind, LLVMTokenTypeKind, LLVMVectorTypeKind, LLVMVoidTypeKind, LLVMX86_FP80TypeKind, LLVMX86_MMXTypeKind, llvm::Type::MetadataTyID, llvm::Type::PointerTyID, llvm::Type::PPC_FP128TyID, llvm::Type::StructTyID, llvm::Type::TokenTyID, llvm::unwrap(), llvm::Type::VectorTyID, llvm::Type::VoidTyID, llvm::Type::X86_FP80TyID, and llvm::Type::X86_MMXTyID.
char* LLVMPrintTypeToString | ( | LLVMTypeRef | Val | ) |
Return a string representation of the type.
Use LLVMDisposeMessage to free the string.
Definition at line 522 of file Core.cpp.
References llvm::raw_ostream::flush(), and llvm::unwrap().
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
Definition at line 509 of file Core.cpp.
References llvm::unwrap().