LLVM 24.0.0git
llvm::abi::TupleType Class Reference

A homogeneous tuple of 2, 3, or 4 identical vectors, such as the AArch64 SVE types svint32x3_t and svboolx2_t. More...

#include "llvm/ABI/Types.h"

Inheritance diagram for llvm::abi::TupleType:
[legend]

Public Member Functions

 TupleType (const VectorType *Vec, unsigned NumVectors)
const VectorTypegetVectorType () const
unsigned getNumVectors () const
Public Member Functions inherited from llvm::abi::Type
TypeKind getKind () const
TypeSize getSizeInBits () const
Align getAlignment () const
Align getUnadjustedAlignment () const
 Alignment before record-level adjustments such as aligned attributes.
TypeSize getTypeAllocSize () const
bool isVoid () const
bool isAtomic () const
bool isInteger () const
bool isFloat () const
bool isPointer () const
bool isArray () const
bool isVector () const
bool isTuple () const
bool isRecord () const
bool isMemberPointer () const
bool isComplex () const
bool isZeroSize () const
LLVM_ABI bool isSVESizelessType () const

Static Public Member Functions

static bool classof (const Type *T)

Additional Inherited Members

Protected Member Functions inherited from llvm::abi::Type
 Type (TypeKind K, TypeSize SizeInBits, Align ABIAlign)
 Type (TypeKind K, TypeSize SizeInBits, Align ABIAlign, Align UnadjustedAlign)
Protected Attributes inherited from llvm::abi::Type
TypeKind Kind
TypeSize SizeInBits
Align ABIAlignment
Align UnadjustedAlignment

Detailed Description

A homogeneous tuple of 2, 3, or 4 identical vectors, such as the AArch64 SVE types svint32x3_t and svboolx2_t.

The contained vector describes one register-shaped member. Size and alignment of the tuple cover the whole group: size is NumVectors times the vector size, and alignment matches the contained vector.

Definition at line 314 of file Types.h.

Constructor & Destructor Documentation

◆ TupleType()

llvm::abi::TupleType::TupleType ( const VectorType * Vec,
unsigned NumVectors )
inline

Member Function Documentation

◆ classof()

bool llvm::abi::TupleType::classof ( const Type * T)
inlinestatic

Definition at line 328 of file Types.h.

References T, llvm::abi::Tuple, and llvm::abi::Type::Type().

◆ getNumVectors()

unsigned llvm::abi::TupleType::getNumVectors ( ) const
inline

Definition at line 326 of file Types.h.

◆ getVectorType()

const VectorType * llvm::abi::TupleType::getVectorType ( ) const
inline

Definition at line 325 of file Types.h.


The documentation for this class was generated from the following file: