LLVM 22.0.0git
llvm::abi::Type Class Reference

Represents the ABI-specific view of a type in LLVM. More...

#include "llvm/ABI/Types.h"

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

Public Member Functions

TypeKind getKind () const
TypeSize getSizeInBits () const
Align getAlignment () const
TypeSize getTypeAllocSize () const
bool isVoid () const
bool isInteger () const
bool isFloat () const
bool isPointer () const
bool isArray () const
bool isVector () const
bool isRecord () const
bool isMemberPointer () const
bool isComplex () const

Protected Member Functions

 Type (TypeKind K, TypeSize SizeInBits, Align ABIAlign)

Protected Attributes

TypeKind Kind
TypeSize SizeInBits
Align ABIAlignment

Detailed Description

Represents the ABI-specific view of a type in LLVM.

This abstracts platform and language-specific ABI details from the frontend, providing a consistent interface for the ABI Library.

Definition at line 45 of file Types.h.

Constructor & Destructor Documentation

◆ Type()

Member Function Documentation

◆ getAlignment()

Align llvm::abi::Type::getAlignment ( ) const
inline

Definition at line 70 of file Types.h.

References ABIAlignment.

Referenced by llvm::abi::ArrayType::ArrayType(), and getTypeAllocSize().

◆ getKind()

TypeKind llvm::abi::Type::getKind ( ) const
inline

Definition at line 68 of file Types.h.

References Kind.

Referenced by llvm::abi::PointerLikeType::isMemberPointer().

◆ getSizeInBits()

TypeSize llvm::abi::Type::getSizeInBits ( ) const
inline

◆ getTypeAllocSize()

TypeSize llvm::abi::Type::getTypeAllocSize ( ) const
inline

Definition at line 72 of file Types.h.

References llvm::alignTo(), and getAlignment().

◆ isArray()

bool llvm::abi::Type::isArray ( ) const
inline

Definition at line 80 of file Types.h.

References llvm::abi::Array, and Kind.

◆ isComplex()

bool llvm::abi::Type::isComplex ( ) const
inline

Definition at line 84 of file Types.h.

References llvm::abi::Complex, and Kind.

◆ isFloat()

bool llvm::abi::Type::isFloat ( ) const
inline

Definition at line 78 of file Types.h.

References llvm::abi::Float, and Kind.

◆ isInteger()

bool llvm::abi::Type::isInteger ( ) const
inline

Definition at line 77 of file Types.h.

References llvm::abi::Integer, and Kind.

◆ isMemberPointer()

bool llvm::abi::Type::isMemberPointer ( ) const
inline

Definition at line 83 of file Types.h.

References Kind, and llvm::abi::MemberPointer.

◆ isPointer()

bool llvm::abi::Type::isPointer ( ) const
inline

Definition at line 79 of file Types.h.

References Kind, and llvm::abi::Pointer.

◆ isRecord()

bool llvm::abi::Type::isRecord ( ) const
inline

Definition at line 82 of file Types.h.

References Kind, and llvm::abi::Record.

◆ isVector()

bool llvm::abi::Type::isVector ( ) const
inline

Definition at line 81 of file Types.h.

References Kind, and llvm::abi::Vector.

◆ isVoid()

bool llvm::abi::Type::isVoid ( ) const
inline

Definition at line 76 of file Types.h.

References Kind, and llvm::abi::Void.

Member Data Documentation

◆ ABIAlignment

Align llvm::abi::Type::ABIAlignment
protected

Definition at line 62 of file Types.h.

Referenced by getAlignment(), and Type().

◆ Kind

TypeKind llvm::abi::Type::Kind
protected

◆ SizeInBits


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