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 VectorType * getVectorType () const
unsigned getNumVectors () const
Public Member Functions inherited from llvm::abi::Type
TypeKind getKind () const
TypeSize getSizeInBits () const
uint64_t getFixedSizeInBitsOrZero () const
 Returns the size in bits if it is fixed, otherwise 0.
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
LLVM_ABI bool isEmptyRecord () const
 True if this type is a record that is empty for ABI purposes.

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 354 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 368 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 366 of file Types.h.

◆ getVectorType()

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

Definition at line 365 of file Types.h.


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