clang
9.0.0
|
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... | |
enum | RealType { NoFloat = 255, Float = 0, Double, LongDouble, Float128 } |
Public Attributes | |
unsigned char | PointerWidth |
unsigned char | PointerAlign |
unsigned char | BoolWidth |
unsigned char | BoolAlign |
unsigned char | IntWidth |
unsigned char | IntAlign |
unsigned char | HalfWidth |
unsigned char | HalfAlign |
unsigned char | FloatWidth |
unsigned char | FloatAlign |
unsigned char | DoubleWidth |
unsigned char | DoubleAlign |
unsigned char | LongDoubleWidth |
unsigned char | LongDoubleAlign |
unsigned char | Float128Align |
unsigned char | LargeArrayMinWidth |
unsigned char | LargeArrayAlign |
unsigned char | LongWidth |
unsigned char | LongAlign |
unsigned char | LongLongWidth |
unsigned char | LongLongAlign |
unsigned char | ShortAccumWidth |
unsigned char | ShortAccumAlign |
unsigned char | AccumWidth |
unsigned char | AccumAlign |
unsigned char | LongAccumWidth |
unsigned char | LongAccumAlign |
unsigned char | ShortFractWidth |
unsigned char | ShortFractAlign |
unsigned char | FractWidth |
unsigned char | FractAlign |
unsigned char | LongFractWidth |
unsigned char | LongFractAlign |
bool | PaddingOnUnsignedFixedPoint |
unsigned char | ShortAccumScale |
unsigned char | AccumScale |
unsigned char | LongAccumScale |
unsigned char | SuitableAlign |
unsigned char | DefaultAlignForAttributeAligned |
unsigned char | MinGlobalAlign |
unsigned short | NewAlign |
unsigned short | MaxVectorAlign |
unsigned short | MaxTLSAlign |
const llvm::fltSemantics * | HalfFormat |
const llvm::fltSemantics * | FloatFormat |
const llvm::fltSemantics * | DoubleFormat |
const llvm::fltSemantics * | LongDoubleFormat |
const llvm::fltSemantics * | Float128Format |
Protected Attributes | |
IntType | SizeType |
IntType | IntMaxType |
IntType | PtrDiffType |
IntType | IntPtrType |
IntType | WCharType |
IntType | WIntType |
IntType | Char16Type |
IntType | Char32Type |
IntType | Int64Type |
IntType | SigAtomicType |
IntType | ProcessIDType |
unsigned | UseSignedCharForObjCBool: 1 |
Whether Objective-C's built-in boolean type should be signed char. More... | |
unsigned | UseBitFieldTypeAlignment: 1 |
Control whether the alignment of bit-field types is respected when laying out structures. More... | |
unsigned | UseZeroLengthBitfieldAlignment: 1 |
Whether zero length bitfields (e.g., int : 0;) force alignment of the next bitfield. More... | |
unsigned | UseExplicitBitFieldAlignment: 1 |
Whether explicit bit field alignment attributes are honored. More... | |
unsigned | ZeroLengthBitfieldBoundary |
If non-zero, specifies a fixed alignment value for bitfields that follow zero length bitfield, regardless of the zero length bitfield type. More... | |
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 54 of file TargetInfo.h.
===-— Target Data Type Query Methods ----------------------------—===//
Enumerator | |
---|---|
NoInt | |
SignedChar | |
UnsignedChar | |
SignedShort | |
UnsignedShort | |
SignedInt | |
UnsignedInt | |
SignedLong | |
UnsignedLong | |
SignedLongLong | |
UnsignedLongLong |
Definition at line 104 of file TargetInfo.h.
Enumerator | |
---|---|
NoFloat | |
Float | |
Double | |
LongDouble | |
Float128 |
Definition at line 118 of file TargetInfo.h.
unsigned char clang::TransferrableTargetInfo::AccumAlign |
Definition at line 68 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::AccumScale |
Definition at line 89 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::AccumWidth |
Definition at line 68 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::BoolAlign |
Definition at line 56 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::BoolWidth |
Definition at line 56 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 126 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 126 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::DefaultAlignForAttributeAligned |
Definition at line 93 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::DoubleAlign |
Definition at line 60 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::CygwinARMTargetInfo::CygwinARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::TargetInfo::TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
const llvm::fltSemantics * clang::TransferrableTargetInfo::DoubleFormat |
Definition at line 100 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::setAuxTarget(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::DoubleWidth |
Definition at line 60 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 61 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
const llvm::fltSemantics * clang::TransferrableTargetInfo::Float128Format |
Definition at line 100 of file TargetInfo.h.
Referenced by clang::targets::AMDGPUTargetInfo::setAuxTarget(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::FloatAlign |
Definition at line 59 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 100 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::setAuxTarget(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::FloatWidth |
Definition at line 59 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 71 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::FractWidth |
Definition at line 71 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::HalfAlign |
Definition at line 58 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 100 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::setAuxTarget(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::HalfWidth |
Definition at line 58 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 126 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::DarwinAArch64TargetInfo::DarwinAArch64TargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCV64TargetInfo::RISCV64TargetInfo(), clang::TargetInfo::TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
unsigned char clang::TransferrableTargetInfo::IntAlign |
Definition at line 57 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::TargetInfo::TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 126 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCV64TargetInfo::RISCV64TargetInfo(), clang::TargetInfo::TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 126 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCV32TargetInfo::RISCV32TargetInfo(), clang::TargetInfo::TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
unsigned char clang::TransferrableTargetInfo::IntWidth |
Definition at line 57 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::TargetInfo::TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
unsigned char clang::TransferrableTargetInfo::LargeArrayAlign |
Definition at line 62 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LargeArrayMinWidth |
Definition at line 62 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongAccumAlign |
Definition at line 69 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongAccumScale |
Definition at line 90 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongAccumWidth |
Definition at line 69 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongAlign |
Definition at line 63 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(), clang::targets::RISCV64TargetInfo::RISCV64TargetInfo(), clang::TargetInfo::TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongDoubleAlign |
Definition at line 61 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::DarwinAArch64TargetInfo::DarwinAArch64TargetInfo(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), clang::TargetInfo::TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
const llvm::fltSemantics * clang::TransferrableTargetInfo::LongDoubleFormat |
Definition at line 100 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::PPCTargetInfo::adjust(), clang::TargetInfo::adjust(), clang::targets::DarwinAArch64TargetInfo::DarwinAArch64TargetInfo(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), clang::targets::AMDGPUTargetInfo::setAuxTarget(), clang::TargetInfo::TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongDoubleWidth |
Definition at line 61 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::DarwinAArch64TargetInfo::DarwinAArch64TargetInfo(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), clang::TargetInfo::TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongFractAlign |
Definition at line 72 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongFractWidth |
Definition at line 72 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongLongAlign |
Definition at line 64 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::CygwinARMTargetInfo::CygwinARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::TargetInfo::TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
unsigned char clang::TransferrableTargetInfo::LongLongWidth |
Definition at line 64 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 63 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(), clang::targets::RISCV64TargetInfo::RISCV64TargetInfo(), clang::TargetInfo::TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
unsigned short clang::TransferrableTargetInfo::MaxTLSAlign |
Definition at line 98 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned short clang::TransferrableTargetInfo::MaxVectorAlign |
Definition at line 97 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 94 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned short clang::TransferrableTargetInfo::NewAlign |
Definition at line 96 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
bool clang::TransferrableTargetInfo::PaddingOnUnsignedFixedPoint |
Definition at line 79 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::PointerAlign |
Definition at line 55 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCV64TargetInfo::RISCV64TargetInfo(), and clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::PointerWidth |
Definition at line 55 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCV64TargetInfo::RISCV64TargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 126 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 126 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCV32TargetInfo::RISCV32TargetInfo(), clang::TargetInfo::TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortAccumAlign |
Definition at line 67 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortAccumScale |
Definition at line 88 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortAccumWidth |
Definition at line 67 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortFractAlign |
Definition at line 70 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
unsigned char clang::TransferrableTargetInfo::ShortFractWidth |
Definition at line 70 of file TargetInfo.h.
Referenced by clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 126 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().
|
protected |
Definition at line 126 of file TargetInfo.h.
Referenced by clang::TargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCV32TargetInfo::RISCV32TargetInfo(), clang::TargetInfo::TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
unsigned char clang::TransferrableTargetInfo::SuitableAlign |
Definition at line 92 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::DarwinAArch64TargetInfo::DarwinAArch64TargetInfo(), 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 141 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 152 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and 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 134 of file TargetInfo.h.
Referenced by clang::targets::DarwinAArch64TargetInfo::DarwinAArch64TargetInfo(), clang::targets::DarwinARMTargetInfo::DarwinARMTargetInfo(), and 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 149 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 126 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 126 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 156 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().