class TargetOptions

Declaration

class TargetOptions { /* full declaration omitted */ };

Description

Options for controlling the target.

Declared at: clang/include/clang/Basic/TargetOptions.h:26

Member Variables

public std::string Triple
The name of the target triple to compile for.
public std::string HostTriple
When compiling for the device side, contains the triple used to compile for the host.
public std::string CPU
If given, the name of the target CPU to generate code for.
public std::string TuneCPU
If given, the name of the target CPU to tune code for.
public std::string FPMath
If given, the unit to use for floating point math.
public std::string ABI
If given, the name of the target ABI to use.
public llvm::EABI EABIVersion
The EABI version to use
public std::string LinkerVersion
If given, the version string of the linker in use.
public std::vector<std::string> FeaturesAsWritten
The list of target specific features to enable or disable, as written on the command line.
public 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 '-'.
public llvm::StringMap<bool> FeatureMap
The map of which features have been enabled disabled based on the command line.
public llvm::StringMap<bool> OpenCLFeaturesMap
Supported OpenCL extensions and optional core features.
public std::vector<std::string> OpenCLExtensionsAsWritten
The list of OpenCL extensions to enable or disable, as written on the command line.
public bool ForceEnableInt128 = false
If given, enables support for __int128_t and __uint128_t types.
public bool NVPTXUseShortPointers = false
public bool AllowAMDGPUUnsafeFPAtomics = false
public clang::TargetOptions::CodeObjectVersionKind CodeObjectVersion
public std::string CodeModel
public llvm::VersionTuple 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.
public std::string DarwinTargetVariantTriple
The name of the darwin target- ariant triple to compile for.
public llvm::VersionTuple DarwinTargetVariantSDKVersion
The version of the darwin target variant SDK which was used during the compilation.
public std::string DxilValidatorVersion
The validator version for dxil.