LLVM 22.0.0git
Structure Types

These functions relate to LLVMTypeRef instances. More...

Collaboration diagram for Structure Types:

Functions

LLVM_C_ABI LLVMTypeRef LLVMStructTypeInContext (LLVMContextRef C, LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
 Create a new structure type in a context.
LLVM_C_ABI LLVMTypeRef LLVMStructType (LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
 Create a new structure type in the global context.
LLVM_C_ABI LLVMTypeRef LLVMStructCreateNamed (LLVMContextRef C, const char *Name)
 Create an empty structure in a context having a specified name.
LLVM_C_ABI const charLLVMGetStructName (LLVMTypeRef Ty)
 Obtain the name of a structure.
LLVM_C_ABI void LLVMStructSetBody (LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
 Set the contents of a structure type.
LLVM_C_ABI unsigned LLVMCountStructElementTypes (LLVMTypeRef StructTy)
 Get the number of elements defined inside the structure.
LLVM_C_ABI void LLVMGetStructElementTypes (LLVMTypeRef StructTy, LLVMTypeRef *Dest)
 Get the elements within a structure.
LLVM_C_ABI LLVMTypeRef LLVMStructGetTypeAtIndex (LLVMTypeRef StructTy, unsigned i)
 Get the type of the element at a given index in the structure.
LLVM_C_ABI LLVMBool LLVMIsPackedStruct (LLVMTypeRef StructTy)
 Determine whether a structure is packed.
LLVM_C_ABI LLVMBool LLVMIsOpaqueStruct (LLVMTypeRef StructTy)
 Determine whether a structure is opaque.
LLVM_C_ABI LLVMBool LLVMIsLiteralStruct (LLVMTypeRef StructTy)
 Determine whether a structure is literal.

Detailed Description

These functions relate to LLVMTypeRef instances.

See also
llvm::StructType

Function Documentation

◆ LLVMCountStructElementTypes()

LLVM_C_ABI unsigned LLVMCountStructElementTypes ( LLVMTypeRef StructTy)

Get the number of elements defined inside the structure.

See also
llvm::StructType::getNumElements()

Definition at line 821 of file Core.cpp.

References llvm::unwrap().

◆ LLVMGetStructElementTypes()

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

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

◆ LLVMGetStructName()

LLVM_C_ABI const char * LLVMGetStructName ( LLVMTypeRef Ty)

Obtain the name of a structure.

See also
llvm::StructType::getName()

Definition at line 807 of file Core.cpp.

References llvm::unwrap().

◆ LLVMIsLiteralStruct()

LLVM_C_ABI LLVMBool LLVMIsLiteralStruct ( LLVMTypeRef StructTy)

Determine whether a structure is literal.

See also
llvm::StructType::isLiteral()

Definition at line 844 of file Core.cpp.

References llvm::unwrap().

◆ LLVMIsOpaqueStruct()

LLVM_C_ABI LLVMBool LLVMIsOpaqueStruct ( LLVMTypeRef StructTy)

Determine whether a structure is opaque.

See also
llvm::StructType::isOpaque()

Definition at line 840 of file Core.cpp.

References llvm::unwrap().

◆ LLVMIsPackedStruct()

LLVM_C_ABI LLVMBool LLVMIsPackedStruct ( LLVMTypeRef StructTy)

Determine whether a structure is packed.

See also
llvm::StructType::isPacked()

Definition at line 836 of file Core.cpp.

References llvm::unwrap().

◆ LLVMStructCreateNamed()

LLVM_C_ABI LLVMTypeRef LLVMStructCreateNamed ( LLVMContextRef C,
const char * Name )

Create an empty structure in a context having a specified name.

See also
llvm::StructType::create()

Definition at line 802 of file Core.cpp.

References llvm::CallingConv::C, llvm::StructType::create(), llvm::unwrap(), and llvm::wrap().

◆ LLVMStructGetTypeAtIndex()

LLVM_C_ABI LLVMTypeRef LLVMStructGetTypeAtIndex ( LLVMTypeRef StructTy,
unsigned i )

Get the type of the element at a given index in the structure.

See also
llvm::StructType::getTypeAtIndex()

Definition at line 831 of file Core.cpp.

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

◆ LLVMStructSetBody()

LLVM_C_ABI void LLVMStructSetBody ( LLVMTypeRef StructTy,
LLVMTypeRef * ElementTypes,
unsigned ElementCount,
LLVMBool Packed )

Set the contents of a structure type.

See also
llvm::StructType::setBody()

Definition at line 815 of file Core.cpp.

References llvm::unwrap().

◆ LLVMStructType()

LLVM_C_ABI LLVMTypeRef LLVMStructType ( LLVMTypeRef * ElementTypes,
unsigned ElementCount,
LLVMBool Packed )

Create a new structure type in the global context.

See also
llvm::StructType::create()

Definition at line 796 of file Core.cpp.

References LLVMGetGlobalContext(), and LLVMStructTypeInContext().

◆ LLVMStructTypeInContext()

LLVM_C_ABI 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.

See also
llvm::StructType::create()

Definition at line 790 of file Core.cpp.

References llvm::CallingConv::C, llvm::StructType::get(), llvm::unwrap(), and llvm::wrap().

Referenced by LLVMStructType().