clang 20.0.0git
|
Fields controlling how types are laid out in memory; these may need to be copied for targets like AMDGPU that base their ABIs on an auxiliary CPU target. More...
#include "clang/Basic/TargetInfo.h"
Public Types | |
enum | IntType { NoInt = 0 , SignedChar , UnsignedChar , SignedShort , UnsignedShort , SignedInt , UnsignedInt , SignedLong , UnsignedLong , SignedLongLong , UnsignedLongLong } |
===-— Target Data Type Query Methods ----------------------------—===// More... | |
Protected Attributes | |
IntType | SizeType |
IntType | IntMaxType |
IntType | PtrDiffType |
IntType | IntPtrType |
IntType | WCharType |
IntType | WIntType |
IntType | Char16Type |
IntType | Char32Type |
IntType | Int64Type |
IntType | Int16Type |
IntType | SigAtomicType |
IntType | ProcessIDType |
unsigned | UseSignedCharForObjCBool: 1 |
Whether Objective-C's built-in boolean type should be signed char. | |
unsigned | UseBitFieldTypeAlignment: 1 |
Control whether the alignment of bit-field types is respected when laying out structures. | |
unsigned | UseZeroLengthBitfieldAlignment: 1 |
Whether zero length bitfields (e.g., int : 0;) force alignment of the next bitfield. | |
unsigned | UseLeadingZeroLengthBitfield: 1 |
Whether zero length bitfield alignment is respected if they are the leading members. | |
unsigned | UseExplicitBitFieldAlignment: 1 |
Whether explicit bit field alignment attributes are honored. | |
unsigned | ZeroLengthBitfieldBoundary |
If non-zero, specifies a fixed alignment value for bitfields that follow zero length bitfield, regardless of the zero length bitfield type. | |
unsigned | MaxAlignedAttribute |
If non-zero, specifies a maximum alignment to truncate alignment specified in the aligned attribute of a static variable to this value. | |
Fields controlling how types are laid out in memory; these may need to be copied for targets like AMDGPU that base their ABIs on an auxiliary CPU target.
Definition at line 87 of file TargetInfo.h.
===-— Target Data Type Query Methods ----------------------------—===//
Enumerator | |
---|---|
NoInt | |
SignedChar | |
UnsignedChar | |
SignedShort | |
UnsignedShort | |
SignedInt | |
UnsignedInt | |
SignedLong | |
UnsignedLong | |
SignedLongLong | |
UnsignedLongLong |
Definition at line 144 of file TargetInfo.h.
unsigned char clang::TransferrableTargetInfo::AccumAlign |
Definition at line 108 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::AccumScale |
Definition at line 129 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::AccumWidth |
Definition at line 108 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::BFloat16Align |
Definition at line 93 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::targets::RISCVTargetInfo::RISCVTargetInfo().
const llvm::fltSemantics * clang::TransferrableTargetInfo::BFloat16Format |
unsigned char clang::TransferrableTargetInfo::BFloat16Width |
Definition at line 93 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::targets::RISCVTargetInfo::RISCVTargetInfo().
std::optional<unsigned> clang::TransferrableTargetInfo::BitIntMaxAlign |
Definition at line 104 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo().
unsigned char clang::TransferrableTargetInfo::BoolAlign |
Definition at line 89 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::BoolWidth |
Definition at line 89 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 160 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 160 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::DefaultAlignForAttributeAligned |
Definition at line 132 of file TargetInfo.h.
Referenced by clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::DoubleAlign |
Definition at line 95 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::CygwinARMTargetInfo::CygwinARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
const llvm::fltSemantics * clang::TransferrableTargetInfo::DoubleFormat |
Definition at line 141 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::setAuxTarget(), clang::targets::SPIRV64AMDGCNTargetInfo::setAuxTarget(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::DoubleWidth |
Definition at line 95 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::Float128Align |
Definition at line 96 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
const llvm::fltSemantics * clang::TransferrableTargetInfo::Float128Format |
Definition at line 141 of file TargetInfo.h.
Referenced by clang::targets::AMDGPUTargetInfo::setAuxTarget(), clang::targets::SPIRV64AMDGCNTargetInfo::setAuxTarget(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::FloatAlign |
Definition at line 94 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
const llvm::fltSemantics * clang::TransferrableTargetInfo::FloatFormat |
Definition at line 140 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::setAuxTarget(), clang::targets::SPIRV64AMDGCNTargetInfo::setAuxTarget(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::FloatWidth |
Definition at line 94 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::FractAlign |
Definition at line 111 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::FractWidth |
Definition at line 111 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::HalfAlign |
Definition at line 92 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
const llvm::fltSemantics* clang::TransferrableTargetInfo::HalfFormat |
Definition at line 140 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::setAuxTarget(), clang::targets::SPIRV64AMDGCNTargetInfo::setAuxTarget(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::HalfWidth |
Definition at line 92 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::Ibm128Align |
Definition at line 96 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
const llvm::fltSemantics * clang::TransferrableTargetInfo::Ibm128Format |
Definition at line 141 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::Int128Align |
Definition at line 100 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 160 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 160 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::IntAlign |
Definition at line 91 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 159 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 159 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::M68kTargetInfo::M68kTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::IntWidth |
Definition at line 91 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LargeArrayAlign |
Definition at line 97 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LargeArrayMinWidth |
Definition at line 97 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongAccumAlign |
Definition at line 109 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongAccumScale |
Definition at line 130 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongAccumWidth |
Definition at line 109 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongAlign |
Definition at line 98 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongDoubleAlign |
Definition at line 96 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::PPCTargetInfo::handleTargetFeatures(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), clang::targets::AMDGPUTargetInfo::setAuxTarget(), clang::targets::SPIRV64AMDGCNTargetInfo::setAuxTarget(), and clang::TargetInfo::TargetInfo().
const llvm::fltSemantics * clang::TransferrableTargetInfo::LongDoubleFormat |
Definition at line 141 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::PPCTargetInfo::adjust(), clang::targets::PPCTargetInfo::handleTargetFeatures(), clang::targets::X86TargetInfo::handleTargetFeatures(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), clang::targets::AMDGPUTargetInfo::setAuxTarget(), clang::targets::SPIRV64AMDGCNTargetInfo::setAuxTarget(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongDoubleWidth |
Definition at line 96 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::PPCTargetInfo::getTargetDefines(), clang::targets::PPCTargetInfo::handleTargetFeatures(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), clang::targets::AMDGPUTargetInfo::setAuxTarget(), clang::targets::SPIRV64AMDGCNTargetInfo::setAuxTarget(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongFractAlign |
Definition at line 112 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongFractWidth |
Definition at line 112 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongLongAlign |
Definition at line 99 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::CygwinARMTargetInfo::CygwinARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongLongWidth |
Definition at line 99 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongWidth |
Definition at line 98 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
If non-zero, specifies a maximum alignment to truncate alignment specified in the aligned attribute of a static variable to this value.
Definition at line 202 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned clang::TransferrableTargetInfo::MaxTLSAlign |
Definition at line 138 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned clang::TransferrableTargetInfo::MaxVectorAlign |
Definition at line 137 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::MinGlobalAlign |
Definition at line 133 of file TargetInfo.h.
Referenced by clang::targets::SystemZTargetInfo::getMinGlobalAlign(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned short clang::TransferrableTargetInfo::NewAlign |
Definition at line 136 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
bool clang::TransferrableTargetInfo::PaddingOnUnsignedFixedPoint |
Definition at line 119 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::PointerAlign |
Definition at line 88 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::PointerWidth |
Definition at line 88 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::PPCTargetInfo::getTargetDefines(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 161 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 159 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::M68kTargetInfo::M68kTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortAccumAlign |
Definition at line 107 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortAccumScale |
Definition at line 128 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortAccumWidth |
Definition at line 107 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortAlign |
Definition at line 90 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortFractAlign |
Definition at line 110 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortFractWidth |
Definition at line 110 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortWidth |
Definition at line 90 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 160 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 159 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::M68kTargetInfo::M68kTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned short clang::TransferrableTargetInfo::SuitableAlign |
Definition at line 135 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Control whether the alignment of bit-field types is respected when laying out structures.
If true, then the alignment of the bit-field type will be used to (a) impact the alignment of the containing structure, and (b) ensure that the individual bit-field will not straddle an alignment boundary.
Definition at line 176 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Whether explicit bit field alignment attributes are honored.
Definition at line 194 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Whether zero length bitfield alignment is respected if they are the leading members.
Definition at line 190 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
|
protected |
Whether Objective-C's built-in boolean type should be signed char.
Otherwise, when this flag is not set, the normal built-in boolean type is used.
Definition at line 168 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
|
protected |
Whether zero length bitfields (e.g., int : 0;) force alignment of the next bitfield.
If the alignment of the zero length bitfield is greater than the member that follows it, ‘bar’, ‘bar’ will be aligned as the type of the zero-length bitfield.
Definition at line 185 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 159 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::CygwinARMTargetInfo::CygwinARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 159 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
If non-zero, specifies a fixed alignment value for bitfields that follow zero length bitfield, regardless of the zero length bitfield type.
Definition at line 198 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().