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 86 of file TargetInfo.h.
===-— Target Data Type Query Methods ----------------------------—===//
Enumerator | |
---|---|
NoInt | |
SignedChar | |
UnsignedChar | |
SignedShort | |
UnsignedShort | |
SignedInt | |
UnsignedInt | |
SignedLong | |
UnsignedLong | |
SignedLongLong | |
UnsignedLongLong |
Definition at line 142 of file TargetInfo.h.
unsigned char clang::TransferrableTargetInfo::AccumAlign |
Definition at line 106 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::AccumScale |
Definition at line 127 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::AccumWidth |
Definition at line 106 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::BFloat16Align |
Definition at line 91 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 91 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 102 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo().
unsigned char clang::TransferrableTargetInfo::BoolAlign |
Definition at line 88 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::BoolWidth |
Definition at line 88 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 158 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 158 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::DefaultAlignForAttributeAligned |
Definition at line 130 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 93 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 139 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 93 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 94 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
const llvm::fltSemantics * clang::TransferrableTargetInfo::Float128Format |
Definition at line 139 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 92 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 138 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 92 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 109 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::FractWidth |
Definition at line 109 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::HalfAlign |
Definition at line 90 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 138 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 90 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 94 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
const llvm::fltSemantics * clang::TransferrableTargetInfo::Ibm128Format |
Definition at line 139 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::Int128Align |
Definition at line 98 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 158 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 158 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 89 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 157 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 157 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 89 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 95 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LargeArrayMinWidth |
Definition at line 95 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongAccumAlign |
Definition at line 107 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongAccumScale |
Definition at line 128 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongAccumWidth |
Definition at line 107 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongAlign |
Definition at line 96 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RenderScript32TargetInfo::RenderScript32TargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongDoubleAlign |
Definition at line 94 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 139 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 94 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 110 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongFractWidth |
Definition at line 110 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongLongAlign |
Definition at line 97 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 97 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 96 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RenderScript32TargetInfo::RenderScript32TargetInfo(), 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 200 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned clang::TransferrableTargetInfo::MaxTLSAlign |
Definition at line 136 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned clang::TransferrableTargetInfo::MaxVectorAlign |
Definition at line 135 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 131 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 134 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
bool clang::TransferrableTargetInfo::PaddingOnUnsignedFixedPoint |
Definition at line 117 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::PointerAlign |
Definition at line 87 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 87 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 159 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 157 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 105 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortAccumScale |
Definition at line 126 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortAccumWidth |
Definition at line 105 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortFractAlign |
Definition at line 108 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortFractWidth |
Definition at line 108 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 158 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 157 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 133 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 174 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 192 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 188 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 166 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 183 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 157 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 157 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 196 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().