clang  9.0.0svn
Public Attributes | List of all members
clang::TargetOptions Class Reference

Options for controlling the target. More...

#include "clang/Basic/TargetOptions.h"

Collaboration diagram for clang::TargetOptions:
Collaboration graph
[legend]

Public Attributes

std::string Triple
 The name of the target triple to compile for. More...
 
std::string HostTriple
 When compiling for the device side, contains the triple used to compile for the host. More...
 
std::string CPU
 If given, the name of the target CPU to generate code for. More...
 
std::string FPMath
 If given, the unit to use for floating point math. More...
 
std::string ABI
 If given, the name of the target ABI to use. More...
 
llvm::EABI EABIVersion
 The EABI version to use. More...
 
std::string LinkerVersion
 If given, the version string of the linker in use. More...
 
std::vector< std::string > FeaturesAsWritten
 The list of target specific features to enable or disable, as written on the command line. More...
 
std::vector< std::string > Features
 The list of target specific features to enable or disable – this should be a list of strings starting with by '+' or '-'. More...
 
OpenCLOptions SupportedOpenCLOptions
 Supported OpenCL extensions and optional core features. More...
 
std::vector< std::string > OpenCLExtensionsAsWritten
 The list of OpenCL extensions to enable or disable, as written on the command line. More...
 
bool ForceEnableInt128 = false
 If given, enables support for __int128_t and __uint128_t types. More...
 
bool NVPTXUseShortPointers = false
 If enabled, use 32-bit pointers for accessing const/local/shared address space. More...
 
std::string CodeModel
 
llvm::VersionTuple SDKVersion
 The version of the SDK which was used during the compilation. More...
 

Detailed Description

Options for controlling the target.

Definition at line 26 of file TargetOptions.h.

Member Data Documentation

◆ ABI

std::string clang::TargetOptions::ABI

If given, the name of the target ABI to use.

Definition at line 42 of file TargetOptions.h.

Referenced by ParseTargetArgs().

◆ CodeModel

std::string clang::TargetOptions::CodeModel

Definition at line 75 of file TargetOptions.h.

Referenced by ParseTargetArgs().

◆ CPU

std::string clang::TargetOptions::CPU

If given, the name of the target CPU to generate code for.

Definition at line 36 of file TargetOptions.h.

Referenced by getCudaArch(), isGCCAsmStatement(), ParseTargetArgs(), runThinLTOBackend(), and clang::CodeGen::CodeGenModule::SetCommonAttributes().

◆ EABIVersion

llvm::EABI clang::TargetOptions::EABIVersion

◆ Features

std::vector<std::string> clang::TargetOptions::Features

The list of target specific features to enable or disable – this should be a list of strings starting with by '+' or '-'.

Definition at line 55 of file TargetOptions.h.

Referenced by clang::targets::AMDGPUTargetInfo::adjustTargetOptions(), getCudaArch(), isGCCAsmStatement(), runThinLTOBackend(), setCommandLineOpts(), and clang::CodeGen::CodeGenModule::SetCommonAttributes().

◆ FeaturesAsWritten

std::vector<std::string> clang::TargetOptions::FeaturesAsWritten

The list of target specific features to enable or disable, as written on the command line.

Definition at line 51 of file TargetOptions.h.

Referenced by clang::targets::AMDGPUTargetInfo::adjustTargetOptions(), clang::targets::ARMTargetInfo::ARMTargetInfo(), checkTargetOptions(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and ParseTargetArgs().

◆ ForceEnableInt128

bool clang::TargetOptions::ForceEnableInt128 = false

If given, enables support for __int128_t and __uint128_t types.

Definition at line 65 of file TargetOptions.h.

Referenced by ParseTargetArgs().

◆ FPMath

std::string clang::TargetOptions::FPMath

If given, the unit to use for floating point math.

Definition at line 39 of file TargetOptions.h.

Referenced by ParseTargetArgs().

◆ HostTriple

std::string clang::TargetOptions::HostTriple

When compiling for the device side, contains the triple used to compile for the host.

Definition at line 33 of file TargetOptions.h.

Referenced by clang::CompilerInvocation::CreateFromArgs(), and clang::targets::NVPTXTargetInfo::NVPTXTargetInfo().

◆ LinkerVersion

std::string clang::TargetOptions::LinkerVersion

If given, the version string of the linker in use.

Definition at line 48 of file TargetOptions.h.

Referenced by ParseTargetArgs().

◆ NVPTXUseShortPointers

bool clang::TargetOptions::NVPTXUseShortPointers = false

If enabled, use 32-bit pointers for accessing const/local/shared address space.

Definition at line 69 of file TargetOptions.h.

Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and ParseTargetArgs().

◆ OpenCLExtensionsAsWritten

std::vector<std::string> clang::TargetOptions::OpenCLExtensionsAsWritten

The list of OpenCL extensions to enable or disable, as written on the command line.

Definition at line 62 of file TargetOptions.h.

Referenced by ParseTargetArgs().

◆ SDKVersion

llvm::VersionTuple clang::TargetOptions::SDKVersion

The version of the SDK which was used during the compilation.

The option is used for two different purposes:

  • on darwin the version is propagated to LLVM where it's used to support SDK Version metadata (See D55673).
  • CUDA compilation uses it to control parts of CUDA compilation in clang that depend on specific version of the CUDA SDK.

Definition at line 83 of file TargetOptions.h.

Referenced by ParseTargetArgs().

◆ SupportedOpenCLOptions

OpenCLOptions clang::TargetOptions::SupportedOpenCLOptions

Supported OpenCL extensions and optional core features.

Definition at line 58 of file TargetOptions.h.

◆ Triple

std::string clang::TargetOptions::Triple

The name of the target triple to compile for.

Definition at line 29 of file TargetOptions.h.

Referenced by clang::CompilerInvocation::CreateFromArgs(), clang::CodeGenAction::ExecuteAction(), HasARCRuntime(), ParseCodeGenArgs(), and ParseTargetArgs().


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