LLVM 22.0.0git
Sequential Types

Sequential types represents "arrays" of types. More...

Collaboration diagram for Sequential Types:

Functions

LLVM_C_ABI LLVMTypeRef LLVMGetElementType (LLVMTypeRef Ty)
 Obtain the element type of an array or vector type.
LLVM_C_ABI void LLVMGetSubtypes (LLVMTypeRef Tp, LLVMTypeRef *Arr)
 Returns type's subtypes.
LLVM_C_ABI unsigned LLVMGetNumContainedTypes (LLVMTypeRef Tp)
 Return the number of types in the derived type.
LLVM_C_ABI LLVMTypeRef LLVMArrayType (LLVMTypeRef ElementType, unsigned ElementCount)
 Create a fixed size array type that refers to a specific type.
LLVM_C_ABI LLVMTypeRef LLVMArrayType2 (LLVMTypeRef ElementType, uint64_t ElementCount)
 Create a fixed size array type that refers to a specific type.
LLVM_C_ABI unsigned LLVMGetArrayLength (LLVMTypeRef ArrayTy)
 Obtain the length of an array type.
LLVM_C_ABI uint64_t LLVMGetArrayLength2 (LLVMTypeRef ArrayTy)
 Obtain the length of an array type.
LLVM_C_ABI LLVMTypeRef LLVMPointerType (LLVMTypeRef ElementType, unsigned AddressSpace)
 Create a pointer type that points to a defined type.
LLVM_C_ABI LLVMBool LLVMPointerTypeIsOpaque (LLVMTypeRef Ty)
 Determine whether a pointer is opaque.
LLVM_C_ABI LLVMTypeRef LLVMPointerTypeInContext (LLVMContextRef C, unsigned AddressSpace)
 Create an opaque pointer type in a context.
LLVM_C_ABI unsigned LLVMGetPointerAddressSpace (LLVMTypeRef PointerTy)
 Obtain the address space of a pointer type.
LLVM_C_ABI LLVMTypeRef LLVMVectorType (LLVMTypeRef ElementType, unsigned ElementCount)
 Create a vector type that contains a defined type and has a specific number of elements.
LLVM_C_ABI LLVMTypeRef LLVMScalableVectorType (LLVMTypeRef ElementType, unsigned ElementCount)
 Create a vector type that contains a defined type and has a scalable number of elements.
LLVM_C_ABI unsigned LLVMGetVectorSize (LLVMTypeRef VectorTy)
 Obtain the (possibly scalable) number of elements in a vector type.
LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthPointer (LLVMValueRef PtrAuth)
 Get the pointer value for the associated ConstantPtrAuth constant.
LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthKey (LLVMValueRef PtrAuth)
 Get the key value for the associated ConstantPtrAuth constant.
LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthDiscriminator (LLVMValueRef PtrAuth)
 Get the discriminator value for the associated ConstantPtrAuth constant.
LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthAddrDiscriminator (LLVMValueRef PtrAuth)
 Get the address discriminator value for the associated ConstantPtrAuth constant.

Detailed Description

Sequential types represents "arrays" of types.

This is a super class for array, vector, and pointer types.

Function Documentation

◆ LLVMArrayType()

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

Deprecated
LLVMArrayType is deprecated in favor of the API accurate LLVMArrayType2
See also
llvm::ArrayType::get()

Definition at line 866 of file Core.cpp.

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

◆ LLVMArrayType2()

LLVM_C_ABI LLVMTypeRef LLVMArrayType2 ( LLVMTypeRef ElementType,
uint64_t 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 870 of file Core.cpp.

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

◆ LLVMGetArrayLength()

LLVM_C_ABI unsigned LLVMGetArrayLength ( LLVMTypeRef ArrayTy)

Obtain the length of an array type.

This only works on types that represent arrays.

Deprecated
LLVMGetArrayLength is deprecated in favor of the API accurate LLVMGetArrayLength2
See also
llvm::ArrayType::getNumElements()

Definition at line 903 of file Core.cpp.

References llvm::unwrap().

◆ LLVMGetArrayLength2()

LLVM_C_ABI uint64_t LLVMGetArrayLength2 ( 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 907 of file Core.cpp.

References llvm::unwrap().

◆ LLVMGetConstantPtrAuthAddrDiscriminator()

LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthAddrDiscriminator ( LLVMValueRef PtrAuth)

Get the address discriminator value for the associated ConstantPtrAuth constant.

See also
llvm::ConstantPtrAuth::getAddrDiscriminator

Definition at line 931 of file Core.cpp.

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

◆ LLVMGetConstantPtrAuthDiscriminator()

LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthDiscriminator ( LLVMValueRef PtrAuth)

Get the discriminator value for the associated ConstantPtrAuth constant.

See also
llvm::ConstantPtrAuth::getDiscriminator

Definition at line 927 of file Core.cpp.

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

◆ LLVMGetConstantPtrAuthKey()

LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthKey ( LLVMValueRef PtrAuth)

Get the key value for the associated ConstantPtrAuth constant.

See also
llvm::ConstantPtrAuth::getKey

Definition at line 923 of file Core.cpp.

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

◆ LLVMGetConstantPtrAuthPointer()

LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthPointer ( LLVMValueRef PtrAuth)

Get the pointer value for the associated ConstantPtrAuth constant.

See also
llvm::ConstantPtrAuth::getPointer

Definition at line 919 of file Core.cpp.

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

◆ LLVMGetElementType()

LLVM_C_ABI LLVMTypeRef LLVMGetElementType ( LLVMTypeRef Ty)

Obtain the element type of an array or vector type.

See also
llvm::SequentialType::getElementType()

Definition at line 892 of file Core.cpp.

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

◆ LLVMGetNumContainedTypes()

LLVM_C_ABI unsigned LLVMGetNumContainedTypes ( LLVMTypeRef Tp)

Return the number of types in the derived type.

See also
llvm::Type::getNumContainedTypes()

Definition at line 899 of file Core.cpp.

References llvm::unwrap().

◆ LLVMGetPointerAddressSpace()

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

References llvm::unwrap().

◆ LLVMGetSubtypes()

LLVM_C_ABI void LLVMGetSubtypes ( LLVMTypeRef Tp,
LLVMTypeRef * Arr )

Returns type's subtypes.

See also
llvm::Type::subtypes()

Definition at line 858 of file Core.cpp.

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

◆ LLVMGetVectorSize()

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

References llvm::unwrap().

◆ LLVMPointerType()

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

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

◆ LLVMPointerTypeInContext()

LLVM_C_ABI LLVMTypeRef LLVMPointerTypeInContext ( LLVMContextRef C,
unsigned AddressSpace )

Create an opaque pointer type in a context.

See also
llvm::PointerType::get()

Definition at line 937 of file Core.cpp.

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

◆ LLVMPointerTypeIsOpaque()

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

◆ LLVMScalableVectorType()

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

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

◆ LLVMVectorType()

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

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

Referenced by llvm::buildBoolRegister().