LLVM  15.0.0git
Functions
Sequential Types

Sequential types represents "arrays" of types. This is a super class for array, vector, and pointer types. More...

Collaboration diagram for Sequential Types:

Functions

LLVMTypeRef LLVMGetElementType (LLVMTypeRef Ty)
 Obtain the element type of an array or vector type. More...
 
void LLVMGetSubtypes (LLVMTypeRef Tp, LLVMTypeRef *Arr)
 Returns type's subtypes. More...
 
unsigned LLVMGetNumContainedTypes (LLVMTypeRef Tp)
 Return the number of types in the derived type. More...
 
LLVMTypeRef LLVMArrayType (LLVMTypeRef ElementType, unsigned ElementCount)
 Create a fixed size array type that refers to a specific type. More...
 
unsigned LLVMGetArrayLength (LLVMTypeRef ArrayTy)
 Obtain the length of an array type. More...
 
LLVMTypeRef LLVMPointerType (LLVMTypeRef ElementType, unsigned AddressSpace)
 Create a pointer type that points to a defined type. More...
 
LLVMBool LLVMPointerTypeIsOpaque (LLVMTypeRef Ty)
 Determine whether a pointer is opaque. More...
 
LLVMTypeRef LLVMPointerTypeInContext (LLVMContextRef C, unsigned AddressSpace)
 Create an opaque pointer type in a context. More...
 
unsigned LLVMGetPointerAddressSpace (LLVMTypeRef PointerTy)
 Obtain the address space of a pointer type. More...
 
LLVMTypeRef LLVMVectorType (LLVMTypeRef ElementType, unsigned ElementCount)
 Create a vector type that contains a defined type and has a specific number of elements. More...
 
LLVMTypeRef LLVMScalableVectorType (LLVMTypeRef ElementType, unsigned ElementCount)
 Create a vector type that contains a defined type and has a scalable number of elements. More...
 
unsigned LLVMGetVectorSize (LLVMTypeRef VectorTy)
 Obtain the (possibly scalable) number of elements in a vector type. More...
 

Detailed Description

Sequential types represents "arrays" of types. This is a super class for array, vector, and pointer types.

Function Documentation

◆ LLVMArrayType()

LLVMTypeRef LLVMArrayType ( LLVMTypeRef  ElementType,
unsigned  ElementCount 
)

Create a fixed size array type that refers to a specific type.

The created type will exist in the context that its element type exists in.

See also
llvm::ArrayType::get()

Definition at line 787 of file Core.cpp.

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

◆ LLVMGetArrayLength()

unsigned LLVMGetArrayLength ( LLVMTypeRef  ArrayTy)

Obtain the length of an array type.

This only works on types that represent arrays.

See also
llvm::ArrayType::getNumElements()

Definition at line 821 of file Core.cpp.

◆ LLVMGetElementType()

LLVMTypeRef LLVMGetElementType ( LLVMTypeRef  Ty)

Obtain the element type of an array or vector type.

This currently also works for pointer types, but this usage is deprecated.

See also
llvm::SequentialType::getElementType()

Definition at line 808 of file Core.cpp.

References llvm::wrap().

◆ LLVMGetNumContainedTypes()

unsigned LLVMGetNumContainedTypes ( LLVMTypeRef  Tp)

Return the number of types in the derived type.

See also
llvm::Type::getNumContainedTypes()

Definition at line 817 of file Core.cpp.

References llvm::unwrap().

◆ LLVMGetPointerAddressSpace()

unsigned LLVMGetPointerAddressSpace ( LLVMTypeRef  PointerTy)

Obtain the address space of a pointer type.

This only works on types that represent pointers.

See also
llvm::PointerType::getAddressSpace()

Definition at line 825 of file Core.cpp.

◆ LLVMGetSubtypes()

void LLVMGetSubtypes ( LLVMTypeRef  Tp,
LLVMTypeRef Arr 
)

Returns type's subtypes.

See also
llvm::Type::subtypes()

Definition at line 779 of file Core.cpp.

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

◆ LLVMGetVectorSize()

unsigned LLVMGetVectorSize ( LLVMTypeRef  VectorTy)

Obtain the (possibly scalable) number of elements in a vector type.

This only works on types that represent vectors (fixed or scalable).

See also
llvm::VectorType::getNumElements()

Definition at line 829 of file Core.cpp.

◆ LLVMPointerType()

LLVMTypeRef LLVMPointerType ( LLVMTypeRef  ElementType,
unsigned  AddressSpace 
)

Create a pointer type that points to a defined type.

The created type will exist in the context that its pointee type exists in.

See also
llvm::PointerType::get()

Definition at line 791 of file Core.cpp.

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

◆ LLVMPointerTypeInContext()

LLVMTypeRef LLVMPointerTypeInContext ( LLVMContextRef  C,
unsigned  AddressSpace 
)

Create an opaque pointer type in a context.

See also
llvm::PointerType::get()

Definition at line 835 of file Core.cpp.

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

◆ LLVMPointerTypeIsOpaque()

LLVMBool LLVMPointerTypeIsOpaque ( LLVMTypeRef  Ty)

Determine whether a pointer is opaque.

True if this is an instance of an opaque PointerType.

See also
llvm::Type::isOpaquePointerTy()

Definition at line 795 of file Core.cpp.

References llvm::unwrap().

◆ LLVMScalableVectorType()

LLVMTypeRef LLVMScalableVectorType ( LLVMTypeRef  ElementType,
unsigned  ElementCount 
)

Create a vector type that contains a defined type and has a scalable number of elements.

The created type will exist in the context thats its element type exists in.

See also
llvm::ScalableVectorType::get()

Definition at line 803 of file Core.cpp.

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

◆ LLVMVectorType()

LLVMTypeRef LLVMVectorType ( LLVMTypeRef  ElementType,
unsigned  ElementCount 
)

Create a vector type that contains a defined type and has a specific number of elements.

The created type will exist in the context thats its element type exists in.

See also
llvm::VectorType::get()

Definition at line 799 of file Core.cpp.

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