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

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)
Protected Attributes inherited from llvm::abi::Type
TypeKind Kind
TypeSize SizeInBits
Align ABIAlignment

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 303 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 317 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 315 of file Types.h.

◆ getVectorType()

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

Definition at line 314 of file Types.h.


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