LLVM 20.0.0git
|
These functions relate to LLVMTypeRef instances. More...
Functions | |
LLVMTypeRef | LLVMStructTypeInContext (LLVMContextRef C, LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed) |
Create a new structure type in a context. | |
LLVMTypeRef | LLVMStructType (LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed) |
Create a new structure type in the global context. | |
LLVMTypeRef | LLVMStructCreateNamed (LLVMContextRef C, const char *Name) |
Create an empty structure in a context having a specified name. | |
const char * | LLVMGetStructName (LLVMTypeRef Ty) |
Obtain the name of a structure. | |
void | LLVMStructSetBody (LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed) |
Set the contents of a structure type. | |
unsigned | LLVMCountStructElementTypes (LLVMTypeRef StructTy) |
Get the number of elements defined inside the structure. | |
void | LLVMGetStructElementTypes (LLVMTypeRef StructTy, LLVMTypeRef *Dest) |
Get the elements within a structure. | |
LLVMTypeRef | LLVMStructGetTypeAtIndex (LLVMTypeRef StructTy, unsigned i) |
Get the type of the element at a given index in the structure. | |
LLVMBool | LLVMIsPackedStruct (LLVMTypeRef StructTy) |
Determine whether a structure is packed. | |
LLVMBool | LLVMIsOpaqueStruct (LLVMTypeRef StructTy) |
Determine whether a structure is opaque. | |
LLVMBool | LLVMIsLiteralStruct (LLVMTypeRef StructTy) |
Determine whether a structure is literal. | |
These functions relate to LLVMTypeRef instances.
unsigned LLVMCountStructElementTypes | ( | LLVMTypeRef | StructTy | ) |
Get the number of elements defined inside the structure.
void LLVMGetStructElementTypes | ( | LLVMTypeRef | StructTy, |
LLVMTypeRef * | Dest | ||
) |
Get the elements within a structure.
The function is passed the address of a pre-allocated array of LLVMTypeRef at least LLVMCountStructElementTypes() long. After invocation, this array will be populated with the structure's elements. The objects in the destination array will have a lifetime of the structure type itself, which is the lifetime of the context it is contained in.
Definition at line 826 of file Core.cpp.
References llvm::StructType::elements(), and llvm::wrap().
const char * LLVMGetStructName | ( | LLVMTypeRef | Ty | ) |
Obtain the name of a structure.
LLVMBool LLVMIsLiteralStruct | ( | LLVMTypeRef | StructTy | ) |
Determine whether a structure is literal.
LLVMBool LLVMIsOpaqueStruct | ( | LLVMTypeRef | StructTy | ) |
Determine whether a structure is opaque.
LLVMBool LLVMIsPackedStruct | ( | LLVMTypeRef | StructTy | ) |
Determine whether a structure is packed.
LLVMTypeRef LLVMStructCreateNamed | ( | LLVMContextRef | C, |
const char * | Name | ||
) |
Create an empty structure in a context having a specified name.
Definition at line 803 of file Core.cpp.
References llvm::CallingConv::C, llvm::StructType::create(), Name, unwrap(), and llvm::wrap().
LLVMTypeRef LLVMStructGetTypeAtIndex | ( | LLVMTypeRef | StructTy, |
unsigned | i | ||
) |
Get the type of the element at a given index in the structure.
Definition at line 832 of file Core.cpp.
References llvm::StructType::getTypeAtIndex(), and llvm::wrap().
void LLVMStructSetBody | ( | LLVMTypeRef | StructTy, |
LLVMTypeRef * | ElementTypes, | ||
unsigned | ElementCount, | ||
LLVMBool | Packed | ||
) |
Set the contents of a structure type.
Definition at line 816 of file Core.cpp.
References unwrap().
LLVMTypeRef LLVMStructType | ( | LLVMTypeRef * | ElementTypes, |
unsigned | ElementCount, | ||
LLVMBool | Packed | ||
) |
Create a new structure type in the global context.
Definition at line 797 of file Core.cpp.
References LLVMGetGlobalContext(), and LLVMStructTypeInContext().
LLVMTypeRef LLVMStructTypeInContext | ( | LLVMContextRef | C, |
LLVMTypeRef * | ElementTypes, | ||
unsigned | ElementCount, | ||
LLVMBool | Packed | ||
) |
Create a new structure type in a context.
A structure is specified by a list of inner elements/types and whether these can be packed together.
Definition at line 791 of file Core.cpp.
References llvm::CallingConv::C, llvm::StructType::get(), unwrap(), and llvm::wrap().
Referenced by LLVMStructType().