clang 19.0.0git
Classes | Functions | Variables
clang::targets Namespace Reference

Classes

class  AArch64beTargetInfo
 
class  AArch64leTargetInfo
 
class  AArch64TargetInfo
 
class  AIXPPC32TargetInfo
 
class  AIXPPC64TargetInfo
 
class  AIXTargetInfo
 
class  AMDGPUTargetInfo
 
class  AndroidX86_32TargetInfo
 
class  AndroidX86_64TargetInfo
 
class  ARCTargetInfo
 
class  ARMbeTargetInfo
 
class  ARMleTargetInfo
 
class  ARMTargetInfo
 
class  AVRTargetInfo
 
class  BaseSPIRTargetInfo
 
class  BaseSPIRVTargetInfo
 
class  BPFTargetInfo
 
class  CSKYTargetInfo
 
class  CygwinARMTargetInfo
 
class  CygwinX86_32TargetInfo
 
class  CygwinX86_64TargetInfo
 
class  DarwinAArch64TargetInfo
 
class  DarwinARMTargetInfo
 
class  DarwinI386TargetInfo
 
class  DarwinTargetInfo
 
class  DarwinX86_64TargetInfo
 
class  DirectXTargetInfo
 
class  DragonFlyBSDTargetInfo
 
class  EmscriptenTargetInfo
 
class  FreeBSDTargetInfo
 
class  FuchsiaTargetInfo
 
class  HaikuTargetInfo
 
class  HaikuX86_32TargetInfo
 
class  HexagonTargetInfo
 
class  HurdTargetInfo
 
class  ItaniumWindowsARMleTargetInfo
 
class  KFreeBSDTargetInfo
 
class  LanaiTargetInfo
 
class  Le64TargetInfo
 
class  LinuxTargetInfo
 
class  LoongArch32TargetInfo
 
class  LoongArch64TargetInfo
 
class  LoongArchTargetInfo
 
class  M68kTargetInfo
 
struct  MCUInfo
 Information about a specific microcontroller. More...
 
class  MCUX86_32TargetInfo
 
class  MicrosoftARM64TargetInfo
 
class  MicrosoftARMleTargetInfo
 
class  MicrosoftX86_32TargetInfo
 
class  MicrosoftX86_64TargetInfo
 
class  MinGWARM64TargetInfo
 
class  MinGWARMTargetInfo
 
class  MinGWX86_32TargetInfo
 
class  MinGWX86_64TargetInfo
 
class  MipsTargetInfo
 
class  MSP430TargetInfo
 
class  NaClMips32TargetInfo
 
class  NaClTargetInfo
 
class  NetBSDI386TargetInfo
 
class  NetBSDTargetInfo
 
class  NVPTXTargetInfo
 
class  OHOSTargetInfo
 
class  OHOSX86_32TargetInfo
 
class  OHOSX86_64TargetInfo
 
class  OpenBSDI386TargetInfo
 
class  OpenBSDTargetInfo
 
class  OpenBSDX86_64TargetInfo
 
class  OSTargetInfo
 
class  PNaClTargetInfo
 
class  PPC32TargetInfo
 
class  PPC64TargetInfo
 
class  PPCTargetInfo
 
class  PS3PPUTargetInfo
 
class  PS4OSTargetInfo
 
class  PS5OSTargetInfo
 
class  PSOSTargetInfo
 
class  RenderScript32TargetInfo
 
class  RenderScript64TargetInfo
 
class  RISCV32TargetInfo
 
class  RISCV64TargetInfo
 
class  RISCVTargetInfo
 
class  RTEMSTargetInfo
 
class  RTEMSX86_32TargetInfo
 
class  SolarisTargetInfo
 
class  SparcTargetInfo
 
class  SparcV8elTargetInfo
 
class  SparcV8TargetInfo
 
class  SparcV9TargetInfo
 
class  SPIR32TargetInfo
 
class  SPIR64TargetInfo
 
class  SPIRTargetInfo
 
class  SPIRV32TargetInfo
 
class  SPIRV64TargetInfo
 
class  SPIRVTargetInfo
 
class  SystemZTargetInfo
 
class  TCELETargetInfo
 
class  TCETargetInfo
 
class  VETargetInfo
 
class  WASITargetInfo
 
class  WebAssembly32TargetInfo
 
class  WebAssembly64TargetInfo
 
class  WebAssemblyOSTargetInfo
 
class  WebAssemblyTargetInfo
 
class  WindowsARM64TargetInfo
 
class  WindowsARMTargetInfo
 
class  WindowsTargetInfo
 
class  WindowsX86_32TargetInfo
 
class  WindowsX86_64TargetInfo
 
class  X86_32TargetInfo
 
class  X86_64TargetInfo
 
class  X86TargetInfo
 
class  XCoreTargetInfo
 
class  ZOSTargetInfo
 

Functions

void DefineStd (MacroBuilder &Builder, StringRef MacroName, const LangOptions &Opts)
 DefineStd - Define a macro name and standard variants.
 
void defineCPUMacros (MacroBuilder &Builder, StringRef CPUName, bool Tuning)
 
void addCygMingDefines (const LangOptions &Opts, MacroBuilder &Builder)
 
std::unique_ptr< TargetInfoAllocateTarget (const llvm::Triple &Triple, const TargetOptions &Opts)
 
LLVM_LIBRARY_VISIBILITY void DefineStd (clang::MacroBuilder &Builder, llvm::StringRef MacroName, const clang::LangOptions &Opts)
 DefineStd - Define a macro name and standard variants.
 
LLVM_LIBRARY_VISIBILITY void defineCPUMacros (clang::MacroBuilder &Builder, llvm::StringRef CPUName, bool Tuning=true)
 
void getDarwinDefines (MacroBuilder &Builder, const LangOptions &Opts, const llvm::Triple &Triple, StringRef &PlatformName, VersionTuple &PlatformMinVersion)
 
static void addMinGWDefines (const llvm::Triple &Triple, const LangOptions &Opts, MacroBuilder &Builder)
 
static void addVisualCDefines (const LangOptions &Opts, MacroBuilder &Builder)
 
void addWindowsDefines (const llvm::Triple &Triple, const LangOptions &Opts, MacroBuilder &Builder)
 

Variables

static const char *const DataLayoutStringR600
 
static const char *const DataLayoutStringAMDGCN
 
static MCUInfo AVRMcus []
 
static const unsigned DirectXAddrSpaceMap []
 
static const unsigned NVPTXAddrSpaceMap []
 
static const int NVPTXDWARFAddrSpaceMap []
 The DWARF address class.
 
static const unsigned SPIRDefIsPrivMap []
 
static const unsigned SPIRDefIsGenMap []
 
static const unsigned TCEOpenCLAddrSpaceMap []
 
static const unsigned WebAssemblyAddrSpaceMap []
 
static constexpr Builtin::Info BuiltinInfoX86 []
 
static const char *const GCCRegNames []
 
const TargetInfo::AddlRegName AddlRegNames []
 
static const unsigned X86AddrSpaceMap []
 

Function Documentation

◆ addCygMingDefines()

LLVM_LIBRARY_VISIBILITY void clang::targets::addCygMingDefines ( const LangOptions Opts,
MacroBuilder Builder 
)

◆ addMinGWDefines()

static void clang::targets::addMinGWDefines ( const llvm::Triple &  Triple,
const LangOptions Opts,
MacroBuilder Builder 
)
static

Definition at line 125 of file OSTargets.cpp.

References addCygMingDefines(), and DefineStd().

Referenced by addWindowsDefines().

◆ addVisualCDefines()

static void clang::targets::addVisualCDefines ( const LangOptions Opts,
MacroBuilder Builder 
)
static

◆ addWindowsDefines()

void clang::targets::addWindowsDefines ( const llvm::Triple &  Triple,
const LangOptions Opts,
MacroBuilder Builder 
)

◆ AllocateTarget()

LLVM_LIBRARY_VISIBILITY std::unique_ptr< clang::TargetInfo > clang::targets::AllocateTarget ( const llvm::Triple &  Triple,
const TargetOptions Opts 
)

◆ defineCPUMacros() [1/2]

LLVM_LIBRARY_VISIBILITY void clang::targets::defineCPUMacros ( clang::MacroBuilder Builder,
llvm::StringRef  CPUName,
bool  Tuning = true 
)

◆ defineCPUMacros() [2/2]

void clang::targets::defineCPUMacros ( MacroBuilder Builder,
StringRef  CPUName,
bool  Tuning 
)

◆ DefineStd() [1/2]

LLVM_LIBRARY_VISIBILITY void clang::targets::DefineStd ( clang::MacroBuilder Builder,
llvm::StringRef  MacroName,
const clang::LangOptions Opts 
)

DefineStd - Define a macro name and standard variants.

For example if MacroName is "unix", then this will define "__unix", "__unix__", and "unix" when in GNU mode.

◆ DefineStd() [2/2]

void clang::targets::DefineStd ( MacroBuilder Builder,
StringRef  MacroName,
const LangOptions Opts 
)

DefineStd - Define a macro name and standard variants.

For example if MacroName is "unix", then this will define "__unix", "__unix__", and "unix" when in GNU mode.

Definition at line 60 of file Targets.cpp.

Referenced by addMinGWDefines(), clang::targets::DragonFlyBSDTargetInfo< Target >::getOSDefines(), clang::targets::FreeBSDTargetInfo< Target >::getOSDefines(), clang::targets::KFreeBSDTargetInfo< Target >::getOSDefines(), clang::targets::HaikuTargetInfo< Target >::getOSDefines(), clang::targets::HurdTargetInfo< Target >::getOSDefines(), clang::targets::LinuxTargetInfo< Target >::getOSDefines(), clang::targets::OpenBSDTargetInfo< Target >::getOSDefines(), clang::targets::PSOSTargetInfo< Target >::getOSDefines(), clang::targets::SolarisTargetInfo< Target >::getOSDefines(), clang::targets::AIXTargetInfo< Target >::getOSDefines(), clang::targets::NaClTargetInfo< Target >::getOSDefines(), clang::targets::OHOSTargetInfo< Target >::getOSDefines(), clang::targets::CygwinARMTargetInfo::getTargetDefines(), clang::targets::DirectXTargetInfo::getTargetDefines(), clang::targets::Le64TargetInfo::getTargetDefines(), clang::targets::M68kTargetInfo::getTargetDefines(), clang::targets::MipsTargetInfo::getTargetDefines(), clang::targets::SparcTargetInfo::getTargetDefines(), clang::targets::SPIRTargetInfo::getTargetDefines(), clang::targets::SPIR32TargetInfo::getTargetDefines(), clang::targets::SPIR64TargetInfo::getTargetDefines(), clang::targets::BaseSPIRVTargetInfo::getTargetDefines(), clang::targets::SPIRV32TargetInfo::getTargetDefines(), clang::targets::SPIRV64TargetInfo::getTargetDefines(), clang::targets::TCETargetInfo::getTargetDefines(), clang::targets::TCELETargetInfo::getTargetDefines(), clang::targets::X86TargetInfo::getTargetDefines(), clang::targets::CygwinX86_32TargetInfo::getTargetDefines(), and clang::targets::CygwinX86_64TargetInfo::getTargetDefines().

◆ getDarwinDefines()

void clang::targets::getDarwinDefines ( MacroBuilder Builder,
const LangOptions Opts,
const llvm::Triple &  Triple,
StringRef &  PlatformName,
VersionTuple &  PlatformMinVersion 
)

Variable Documentation

◆ AddlRegNames

const TargetInfo::AddlRegName clang::targets::AddlRegNames[]
Initial value:
= {
{{"al", "ah", "eax", "rax"}, 0},
{{"bl", "bh", "ebx", "rbx"}, 3},
{{"cl", "ch", "ecx", "rcx"}, 2},
{{"dl", "dh", "edx", "rdx"}, 1},
{{"esi", "rsi"}, 4},
{{"edi", "rdi"}, 5},
{{"esp", "rsp"}, 7},
{{"ebp", "rbp"}, 6},
{{"r8d", "r8w", "r8b"}, 38},
{{"r9d", "r9w", "r9b"}, 39},
{{"r10d", "r10w", "r10b"}, 40},
{{"r11d", "r11w", "r11b"}, 41},
{{"r12d", "r12w", "r12b"}, 42},
{{"r13d", "r13w", "r13b"}, 43},
{{"r14d", "r14w", "r14b"}, 44},
{{"r15d", "r15w", "r15b"}, 45},
}

Definition at line 69 of file X86.cpp.

Referenced by clang::targets::AVRTargetInfo::getGCCAddlRegNames(), and clang::targets::X86TargetInfo::getGCCAddlRegNames().

◆ AVRMcus

MCUInfo clang::targets::AVRMcus[]
static

◆ BuiltinInfoX86

constexpr Builtin::Info clang::targets::BuiltinInfoX86[]
staticconstexpr
Initial value:
= {
#define BUILTIN(ID, TYPE, ATTRS)
#define TARGET_BUILTIN(ID, TYPE, ATTRS, FEATURE)
#define TARGET_HEADER_BUILTIN(ID, TYPE, ATTRS, HEADER, LANGS, FEATURE)
#define BUILTIN(ID, TYPE, ATTRS)
#define TARGET_BUILTIN(ID, TYPE, ATTRS, FEATURE)
#define TARGET_HEADER_BUILTIN(ID, TYPE, ATTRS, HEADER, LANGS, FEATURE)
}

Definition at line 26 of file X86.cpp.

Referenced by clang::targets::X86_32TargetInfo::getTargetBuiltins(), and clang::targets::X86_64TargetInfo::getTargetBuiltins().

◆ DataLayoutStringAMDGCN

const char* const clang::targets::DataLayoutStringAMDGCN
static
Initial value:
=
"e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32"
"-p7:160:256:256:32-p8:128:128-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:"
"32-v48:64-v96:128"
"-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1"
"-ni:7:8:9"

Definition at line 34 of file AMDGPU.cpp.

Referenced by clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo().

◆ DataLayoutStringR600

const char* const clang::targets::DataLayoutStringR600
static
Initial value:
=
"e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128"
"-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1"

Definition at line 30 of file AMDGPU.cpp.

Referenced by clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo().

◆ DirectXAddrSpaceMap

const unsigned clang::targets::DirectXAddrSpaceMap[]
static
Initial value:
= {
0,
1,
3,
2,
0,
4,
5,
6,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
20,
}

Definition at line 23 of file DirectX.h.

Referenced by clang::targets::DirectXTargetInfo::DirectXTargetInfo().

◆ GCCRegNames

const char* const clang::targets::GCCRegNames[]
static
Initial value:
= {
"ax", "dx", "cx", "bx", "si", "di", "bp", "sp",
"st", "st(1)", "st(2)", "st(3)", "st(4)", "st(5)", "st(6)", "st(7)",
"argp", "flags", "fpcr", "fpsr", "dirflag", "frame", "xmm0", "xmm1",
"xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7", "mm0", "mm1",
"mm2", "mm3", "mm4", "mm5", "mm6", "mm7", "r8", "r9",
"r10", "r11", "r12", "r13", "r14", "r15", "xmm8", "xmm9",
"xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15", "ymm0", "ymm1",
"ymm2", "ymm3", "ymm4", "ymm5", "ymm6", "ymm7", "ymm8", "ymm9",
"ymm10", "ymm11", "ymm12", "ymm13", "ymm14", "ymm15", "xmm16", "xmm17",
"xmm18", "xmm19", "xmm20", "xmm21", "xmm22", "xmm23", "xmm24", "xmm25",
"xmm26", "xmm27", "xmm28", "xmm29", "xmm30", "xmm31", "ymm16", "ymm17",
"ymm18", "ymm19", "ymm20", "ymm21", "ymm22", "ymm23", "ymm24", "ymm25",
"ymm26", "ymm27", "ymm28", "ymm29", "ymm30", "ymm31", "zmm0", "zmm1",
"zmm2", "zmm3", "zmm4", "zmm5", "zmm6", "zmm7", "zmm8", "zmm9",
"zmm10", "zmm11", "zmm12", "zmm13", "zmm14", "zmm15", "zmm16", "zmm17",
"zmm18", "zmm19", "zmm20", "zmm21", "zmm22", "zmm23", "zmm24", "zmm25",
"zmm26", "zmm27", "zmm28", "zmm29", "zmm30", "zmm31", "k0", "k1",
"k2", "k3", "k4", "k5", "k6", "k7",
"cr0", "cr2", "cr3", "cr4", "cr8",
"dr0", "dr1", "dr2", "dr3", "dr6", "dr7",
"bnd0", "bnd1", "bnd2", "bnd3",
"tmm0", "tmm1", "tmm2", "tmm3", "tmm4", "tmm5", "tmm6", "tmm7",
}

Definition at line 44 of file X86.cpp.

Referenced by clang::targets::CSKYTargetInfo::getGCCRegNames(), clang::targets::LoongArchTargetInfo::getGCCRegNames(), clang::targets::RISCVTargetInfo::getGCCRegNames(), and clang::targets::X86TargetInfo::getGCCRegNames().

◆ NVPTXAddrSpaceMap

const unsigned clang::targets::NVPTXAddrSpaceMap[]
static
Initial value:
= {
0,
1,
3,
4,
0,
0,
1,
1,
1,
4,
3,
1,
1,
1,
3,
0,
0,
0,
0,
0,
20,
}

Definition at line 26 of file NVPTX.h.

Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo().

◆ NVPTXDWARFAddrSpaceMap

const int clang::targets::NVPTXDWARFAddrSpaceMap[]
static
Initial value:
= {
-1,
5,
-1,
8,
4,
}

The DWARF address class.

Taken from https://docs.nvidia.com/cuda/archive/10.0/ptx-writers-guide-to-interoperability/index.html#cuda-specific-dwarf

Definition at line 55 of file NVPTX.h.

Referenced by clang::targets::NVPTXTargetInfo::getDWARFAddressSpace().

◆ SPIRDefIsGenMap

const unsigned clang::targets::SPIRDefIsGenMap[]
static

Definition at line 56 of file SPIR.h.

Referenced by clang::targets::BaseSPIRTargetInfo::setAddressSpaceMap().

◆ SPIRDefIsPrivMap

const unsigned clang::targets::SPIRDefIsPrivMap[]
static
Initial value:
= {
0,
1,
3,
2,
0,
4,
5,
6,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
20,
}

Definition at line 28 of file SPIR.h.

Referenced by clang::targets::BaseSPIRTargetInfo::BaseSPIRTargetInfo(), and clang::targets::BaseSPIRTargetInfo::setAddressSpaceMap().

◆ TCEOpenCLAddrSpaceMap

const unsigned clang::targets::TCEOpenCLAddrSpaceMap[]
static
Initial value:
= {
0,
3,
4,
5,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
20,
}

Definition at line 32 of file TCE.h.

Referenced by clang::targets::TCETargetInfo::TCETargetInfo().

◆ WebAssemblyAddrSpaceMap

const unsigned clang::targets::WebAssemblyAddrSpaceMap[]
static
Initial value:
= {
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
20,
}

Definition at line 24 of file WebAssembly.h.

Referenced by clang::targets::WebAssemblyTargetInfo::WebAssemblyTargetInfo().

◆ X86AddrSpaceMap

const unsigned clang::targets::X86AddrSpaceMap[]
static
Initial value:
= {
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
270,
271,
272,
0,
20,
}

Definition at line 28 of file X86.h.

Referenced by clang::targets::X86TargetInfo::X86TargetInfo().