clang 20.0.0git
Namespaces | Classes | Enumerations | Functions
clang::driver::tools Namespace Reference

Namespaces

namespace  aarch64
 
namespace  aix
 Directly call system default assembler and linker.
 
namespace  AMDGCN
 
namespace  amdgpu
 
namespace  arm
 
namespace  AVR
 
namespace  baremetal
 
namespace  CrossWindows
 
namespace  csky
 
namespace  CSKY
 
namespace  darwin
 
namespace  dragonfly
 Directly call GNU Binutils assembler and linker.
 
namespace  freebsd
 Directly call GNU Binutils assembler and linker.
 
namespace  fuchsia
 
namespace  gcc
 gcc - Generic GCC tool implementations.
 
namespace  gnutools
 Directly call GNU Binutils' assembler and linker.
 
namespace  haiku
 Directly call GNU Binutils assembler and linker.
 
namespace  hexagon
 
namespace  HIP
 
namespace  HIPSPV
 
namespace  hlsl
 
namespace  ifstool
 
namespace  loongarch
 
namespace  m68k
 
namespace  MinGW
 Directly call GNU Binutils assembler and linker.
 
namespace  mips
 
namespace  msp430
 
namespace  nacltools
 
namespace  netbsd
 Directly call GNU Binutils assembler and linker.
 
namespace  NVPTX
 
namespace  openbsd
 Directly call GNU Binutils assembler and linker.
 
namespace  ppc
 
namespace  PS4cpu
 
namespace  PS5cpu
 
namespace  PScpu
 
namespace  RISCV
 
namespace  riscv
 
namespace  solaris
 Directly call Solaris assembler and linker.
 
namespace  sparc
 
namespace  SPIRV
 
namespace  systemz
 
namespace  ve
 
namespace  visualstudio
 Visual studio tools.
 
namespace  wasm
 
namespace  x86
 
namespace  XCore
 
namespace  zos
 Directly call system default assembler and linker.
 

Classes

class  Clang
 Clang compiler tool. More...
 
class  ClangAs
 Clang integrated assembler tool. More...
 
class  Flang
 Flang compiler tool. More...
 
class  LinkerWrapper
 Linker wrapper tool. More...
 
class  OffloadBundler
 Offload bundler tool. More...
 
class  OffloadPackager
 Offload binary tool. More...
 

Enumerations

enum class  DwarfFissionKind { None , Split , Single }
 

Functions

DwarfFissionKind getDebugFissionKind (const Driver &D, const llvm::opt::ArgList &Args, llvm::opt::Arg *&Arg)
 
llvm::SmallString< 256 > getCXX20NamedModuleOutputPath (const llvm::opt::ArgList &Args, const char *BaseInput)
 
void addPathIfExists (const Driver &D, const Twine &Path, ToolChain::path_list &Paths)
 
void AddLinkerInputs (const ToolChain &TC, const InputInfoList &Inputs, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, const JobAction &JA)
 
void addLinkerCompressDebugSectionsOption (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs)
 
void addGPULibraries (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs)
 
void claimNoWarnArgs (const llvm::opt::ArgList &Args)
 
bool addSanitizerRuntimes (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs)
 
void linkSanitizerRuntimeDeps (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs)
 
bool addXRayRuntime (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs)
 
void linkXRayRuntimeDeps (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs)
 
void AddRunTimeLibs (const ToolChain &TC, const Driver &D, llvm::opt::ArgStringList &CmdArgs, const llvm::opt::ArgList &Args)
 
void AddStaticDeviceLibsLinking (Compilation &C, const Tool &T, const JobAction &JA, const InputInfoList &Inputs, const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CmdArgs, StringRef Arch, StringRef Target, bool isBitCodeSDL)
 
void AddStaticDeviceLibs (Compilation *C, const Tool *T, const JobAction *JA, const InputInfoList *Inputs, const Driver &D, const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CmdArgs, StringRef Arch, StringRef Target, bool isBitCodeSDL)
 
const char * SplitDebugName (const JobAction &JA, const llvm::opt::ArgList &Args, const InputInfo &Input, const InputInfo &Output)
 
void SplitDebugInfo (const ToolChain &TC, Compilation &C, const Tool &T, const JobAction &JA, const llvm::opt::ArgList &Args, const InputInfo &Output, const char *OutFile)
 
void addLTOOptions (const ToolChain &ToolChain, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, const InputInfo &Output, const InputInfo &Input, bool IsThinLTO)
 
const char * RelocationModelName (llvm::Reloc::Model Model)
 
std::tuple< llvm::Reloc::Model, unsigned, boolParsePICArgs (const ToolChain &ToolChain, const llvm::opt::ArgList &Args)
 
unsigned ParseFunctionAlignment (const ToolChain &TC, const llvm::opt::ArgList &Args)
 
void addDebugInfoKind (llvm::opt::ArgStringList &CmdArgs, llvm::codegenoptions::DebugInfoKind DebugInfoKind)
 
llvm::codegenoptions::DebugInfoKind debugLevelToInfoKind (const llvm::opt::Arg &A)
 
unsigned DwarfVersionNum (StringRef ArgValue)
 
const llvm::opt::Arg * getDwarfNArg (const llvm::opt::ArgList &Args)
 
unsigned getDwarfVersion (const ToolChain &TC, const llvm::opt::ArgList &Args)
 
void AddAssemblerKPIC (const ToolChain &ToolChain, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs)
 
void addArchSpecificRPath (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs)
 
void addOpenMPRuntimeLibraryPath (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs)
 
bool addOpenMPRuntime (const Compilation &C, llvm::opt::ArgStringList &CmdArgs, const ToolChain &TC, const llvm::opt::ArgList &Args, bool ForceStaticHostRuntime=false, bool IsOffloadingHost=false, bool GompNeedsRT=false)
 Returns true, if an OpenMP runtime has been added.
 
void addOpenMPHostOffloadingArgs (const Compilation &C, const JobAction &JA, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs)
 Adds offloading options for OpenMP host compilation to CmdArgs.
 
void addFortranRuntimeLibs (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs)
 Adds Fortran runtime libraries to CmdArgs.
 
void addFortranRuntimeLibraryPath (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs)
 Adds the path for the Fortran runtime libraries to CmdArgs.
 
void addHIPRuntimeLibArgs (const ToolChain &TC, Compilation &C, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs)
 
void addAsNeededOption (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, bool as_needed)
 
llvm::opt::Arg * getLastCSProfileGenerateArg (const llvm::opt::ArgList &Args)
 
llvm::opt::Arg * getLastProfileUseArg (const llvm::opt::ArgList &Args)
 
llvm::opt::Arg * getLastProfileSampleUseArg (const llvm::opt::ArgList &Args)
 
bool isObjCAutoRefCount (const llvm::opt::ArgList &Args)
 
llvm::StringRef getLTOParallelism (const llvm::opt::ArgList &Args, const Driver &D)
 
bool areOptimizationsEnabled (const llvm::opt::ArgList &Args)
 
bool isUseSeparateSections (const llvm::Triple &Triple)
 
bool isTLSDESCEnabled (const ToolChain &TC, const llvm::opt::ArgList &Args)
 
void addDirectoryList (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, const char *ArgName, const char *EnvVar)
 EnvVar is split by system delimiter for environment variables.
 
void AddTargetFeature (const llvm::opt::ArgList &Args, std::vector< StringRef > &Features, llvm::opt::OptSpecifier OnOpt, llvm::opt::OptSpecifier OffOpt, StringRef FeatureName)
 
std::string getCPUName (const Driver &D, const llvm::opt::ArgList &Args, const llvm::Triple &T, bool FromAs=false)
 
void getTargetFeatures (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, bool ForAS, bool IsAux=false)
 
void handleTargetFeaturesGroup (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args, std::vector< StringRef > &Features, llvm::opt::OptSpecifier Group)
 Iterate Args and convert -mxxx to +xxx and -mno-xxx to -xxx and append it to Features.
 
SmallVector< StringRef > unifyTargetFeatures (ArrayRef< StringRef > Features)
 If there are multiple +xxx or -xxx features, keep the last one.
 
SmallString< 128 > getStatsFileName (const llvm::opt::ArgList &Args, const InputInfo &Output, const InputInfo &Input, const Driver &D)
 Handles the -save-stats option and returns the filename to save statistics to.
 
void addMultilibFlag (bool Enabled, const StringRef Flag, Multilib::flags_list &Flags)
 Flag must be a flag accepted by the driver.
 
void addX86AlignBranchArgs (const Driver &D, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, bool IsLTO, const StringRef PluginOptPrefix="")
 
void checkAMDGPUCodeObjectVersion (const Driver &D, const llvm::opt::ArgList &Args)
 
unsigned getAMDGPUCodeObjectVersion (const Driver &D, const llvm::opt::ArgList &Args)
 
bool haveAMDGPUCodeObjectVersionArgument (const Driver &D, const llvm::opt::ArgList &Args)
 
void addMachineOutlinerArgs (const Driver &D, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, const llvm::Triple &Triple, bool IsLTO, const StringRef PluginOptPrefix="")
 
void addOpenMPDeviceRTL (const Driver &D, const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, StringRef BitcodeSuffix, const llvm::Triple &Triple, const ToolChain &HostTC)
 
void addOutlineAtomicsArgs (const Driver &D, const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, const llvm::Triple &Triple)
 
void addOffloadCompressArgs (const llvm::opt::ArgList &TCArgs, llvm::opt::ArgStringList &CmdArgs)
 
void addMCModel (const Driver &D, const llvm::opt::ArgList &Args, const llvm::Triple &Triple, const llvm::Reloc::Model &RelocationModel, llvm::opt::ArgStringList &CmdArgs)
 

Enumeration Type Documentation

◆ DwarfFissionKind

Enumerator
None 
Split 
Single 

Definition at line 190 of file Clang.h.

Function Documentation

◆ addArchSpecificRPath()

void clang::driver::tools::addArchSpecificRPath ( const ToolChain TC,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs 
)

◆ addAsNeededOption()

void clang::driver::tools::addAsNeededOption ( const ToolChain TC,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs,
bool  as_needed 
)

◆ AddAssemblerKPIC()

void clang::driver::tools::AddAssemblerKPIC ( const ToolChain ToolChain,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs 
)

◆ addDebugInfoKind()

void clang::driver::tools::addDebugInfoKind ( llvm::opt::ArgStringList &  CmdArgs,
llvm::codegenoptions::DebugInfoKind  DebugInfoKind 
)

Referenced by RenderDebugEnablingArgs().

◆ addDirectoryList()

void clang::driver::tools::addDirectoryList ( const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs,
const char *  ArgName,
const char *  EnvVar 
)

EnvVar is split by system delimiter for environment variables.

If ArgName is "-I", "-L", or an empty string, each entry from EnvVar is prefixed by ArgName then added to Args. Otherwise, for each entry of EnvVar, ArgName is added to Args first, then the entry itself is added.

Referenced by clang::driver::tools::NVPTX::Linker::ConstructJob(), clang::driver::toolchains::HIPAMDToolChain::getDeviceLibs(), and clang::driver::toolchains::HIPSPVToolChain::getDeviceLibs().

◆ addFortranRuntimeLibraryPath()

void clang::driver::tools::addFortranRuntimeLibraryPath ( const ToolChain TC,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs 
)

◆ addFortranRuntimeLibs()

void clang::driver::tools::addFortranRuntimeLibs ( const ToolChain TC,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs 
)

◆ addGPULibraries()

void clang::driver::tools::addGPULibraries ( const ToolChain TC,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs 
)

◆ addHIPRuntimeLibArgs()

void clang::driver::tools::addHIPRuntimeLibArgs ( const ToolChain TC,
Compilation C,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs 
)

◆ addLinkerCompressDebugSectionsOption()

void clang::driver::tools::addLinkerCompressDebugSectionsOption ( const ToolChain TC,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs 
)

◆ AddLinkerInputs()

void clang::driver::tools::AddLinkerInputs ( const ToolChain TC,
const InputInfoList Inputs,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs,
const JobAction JA 
)

◆ addLTOOptions()

void clang::driver::tools::addLTOOptions ( const ToolChain ToolChain,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs,
const InputInfo Output,
const InputInfo Input,
bool  IsThinLTO 
)

◆ addMachineOutlinerArgs()

void clang::driver::tools::addMachineOutlinerArgs ( const Driver D,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs,
const llvm::Triple &  Triple,
bool  IsLTO,
const StringRef  PluginOptPrefix = "" 
)

Definition at line 2699 of file CommonArgs.cpp.

References D.

Referenced by clang::driver::tools::Clang::ConstructJob().

◆ addMCModel()

void clang::driver::tools::addMCModel ( const Driver D,
const llvm::opt::ArgList &  Args,
const llvm::Triple &  Triple,
const llvm::Reloc::Model &  RelocationModel,
llvm::opt::ArgStringList &  CmdArgs 
)

◆ addMultilibFlag()

void clang::driver::tools::addMultilibFlag ( bool  Enabled,
const StringRef  Flag,
Multilib::flags_list Flags 
)

◆ addOffloadCompressArgs()

void clang::driver::tools::addOffloadCompressArgs ( const llvm::opt::ArgList &  TCArgs,
llvm::opt::ArgStringList &  CmdArgs 
)

◆ addOpenMPDeviceRTL()

void clang::driver::tools::addOpenMPDeviceRTL ( const Driver D,
const llvm::opt::ArgList &  DriverArgs,
llvm::opt::ArgStringList &  CC1Args,
StringRef  BitcodeSuffix,
const llvm::Triple &  Triple,
const ToolChain HostTC 
)

◆ addOpenMPHostOffloadingArgs()

void clang::driver::tools::addOpenMPHostOffloadingArgs ( const Compilation C,
const JobAction JA,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs 
)

Adds offloading options for OpenMP host compilation to CmdArgs.

Definition at line 1252 of file CommonArgs.cpp.

References clang::C, clang::driver::Action::isHostOffloading(), and clang::driver::Action::OFK_OpenMP.

Referenced by clang::driver::tools::Clang::ConstructJob().

◆ addOpenMPRuntime()

bool clang::driver::tools::addOpenMPRuntime ( const Compilation C,
llvm::opt::ArgStringList &  CmdArgs,
const ToolChain TC,
const llvm::opt::ArgList &  Args,
bool  ForceStaticHostRuntime = false,
bool  IsOffloadingHost = false,
bool  GompNeedsRT = false 
)

◆ addOpenMPRuntimeLibraryPath()

void clang::driver::tools::addOpenMPRuntimeLibraryPath ( const ToolChain TC,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs 
)

◆ addOutlineAtomicsArgs()

void clang::driver::tools::addOutlineAtomicsArgs ( const Driver D,
const ToolChain TC,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs,
const llvm::Triple &  Triple 
)

◆ addPathIfExists()

void clang::driver::tools::addPathIfExists ( const Driver D,
const Twine &  Path,
ToolChain::path_list Paths 
)

◆ AddRunTimeLibs()

void clang::driver::tools::AddRunTimeLibs ( const ToolChain TC,
const Driver D,
llvm::opt::ArgStringList &  CmdArgs,
const llvm::opt::ArgList &  Args 
)

◆ addSanitizerRuntimes()

bool clang::driver::tools::addSanitizerRuntimes ( const ToolChain TC,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs 
)

◆ AddStaticDeviceLibs()

void clang::driver::tools::AddStaticDeviceLibs ( Compilation C,
const Tool T,
const JobAction JA,
const InputInfoList Inputs,
const Driver D,
const llvm::opt::ArgList &  DriverArgs,
llvm::opt::ArgStringList &  CmdArgs,
StringRef  Arch,
StringRef  Target,
bool  isBitCodeSDL 
)

◆ AddStaticDeviceLibsLinking()

void clang::driver::tools::AddStaticDeviceLibsLinking ( Compilation C,
const Tool T,
const JobAction JA,
const InputInfoList Inputs,
const llvm::opt::ArgList &  DriverArgs,
llvm::opt::ArgStringList &  CmdArgs,
StringRef  Arch,
StringRef  Target,
bool  isBitCodeSDL 
)

Definition at line 2553 of file CommonArgs.cpp.

References AddStaticDeviceLibs(), clang::C, and clang::T.

◆ AddTargetFeature()

void clang::driver::tools::AddTargetFeature ( const llvm::opt::ArgList &  Args,
std::vector< StringRef > &  Features,
llvm::opt::OptSpecifier  OnOpt,
llvm::opt::OptSpecifier  OffOpt,
StringRef  FeatureName 
)

◆ addX86AlignBranchArgs()

void clang::driver::tools::addX86AlignBranchArgs ( const Driver D,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs,
bool  IsLTO,
const StringRef  PluginOptPrefix = "" 
)

◆ addXRayRuntime()

bool clang::driver::tools::addXRayRuntime ( const ToolChain TC,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs 
)

◆ areOptimizationsEnabled()

bool clang::driver::tools::areOptimizationsEnabled ( const llvm::opt::ArgList &  Args)

◆ checkAMDGPUCodeObjectVersion()

void clang::driver::tools::checkAMDGPUCodeObjectVersion ( const Driver D,
const llvm::opt::ArgList &  Args 
)

Definition at line 2662 of file CommonArgs.cpp.

References D, and getAMDGPUCodeObjectArgument().

◆ claimNoWarnArgs()

void clang::driver::tools::claimNoWarnArgs ( const llvm::opt::ArgList &  Args)

◆ debugLevelToInfoKind()

llvm::codegenoptions::DebugInfoKind clang::driver::tools::debugLevelToInfoKind ( const llvm::opt::Arg &  A)

Referenced by renderDebugOptions().

◆ DwarfVersionNum()

unsigned clang::driver::tools::DwarfVersionNum ( StringRef  ArgValue)

Definition at line 2075 of file CommonArgs.cpp.

Referenced by CollectArgsForIntegratedAssembler(), and getDwarfVersion().

◆ getAMDGPUCodeObjectVersion()

unsigned clang::driver::tools::getAMDGPUCodeObjectVersion ( const Driver D,
const llvm::opt::ArgList &  Args 
)

◆ getCPUName()

std::string clang::driver::tools::getCPUName ( const Driver D,
const llvm::opt::ArgList &  Args,
const llvm::Triple &  T,
bool  FromAs = false 
)

◆ getCXX20NamedModuleOutputPath()

llvm::SmallString< 256 > clang::driver::tools::getCXX20NamedModuleOutputPath ( const llvm::opt::ArgList &  Args,
const char *  BaseInput 
)

◆ getDebugFissionKind()

DwarfFissionKind clang::driver::tools::getDebugFissionKind ( const Driver D,
const llvm::opt::ArgList &  Args,
llvm::opt::Arg *&  Arg 
)

◆ getDwarfNArg()

const llvm::opt::Arg * clang::driver::tools::getDwarfNArg ( const llvm::opt::ArgList &  Args)

◆ getDwarfVersion()

unsigned clang::driver::tools::getDwarfVersion ( const ToolChain TC,
const llvm::opt::ArgList &  Args 
)

◆ getLastCSProfileGenerateArg()

llvm::opt::Arg * clang::driver::tools::getLastCSProfileGenerateArg ( const llvm::opt::ArgList &  Args)

Referenced by addPGOAndCoverageFlags().

◆ getLastProfileSampleUseArg()

llvm::opt::Arg * clang::driver::tools::getLastProfileSampleUseArg ( const llvm::opt::ArgList &  Args)

◆ getLastProfileUseArg()

llvm::opt::Arg * clang::driver::tools::getLastProfileUseArg ( const llvm::opt::ArgList &  Args)

◆ getLTOParallelism()

llvm::StringRef clang::driver::tools::getLTOParallelism ( const llvm::opt::ArgList &  Args,
const Driver D 
)

◆ getStatsFileName()

SmallString< 128 > clang::driver::tools::getStatsFileName ( const llvm::opt::ArgList &  Args,
const InputInfo Output,
const InputInfo Input,
const Driver D 
)

Handles the -save-stats option and returns the filename to save statistics to.

Definition at line 2254 of file CommonArgs.cpp.

References D, clang::driver::InputInfo::getBaseInput(), clang::driver::InputInfo::getFilename(), and clang::driver::InputInfo::isFilename().

Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::darwin::Linker::ConstructJob().

◆ getTargetFeatures()

void clang::driver::tools::getTargetFeatures ( const Driver D,
const llvm::Triple &  Triple,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs,
bool  ForAS,
bool  IsAux = false 
)

◆ handleTargetFeaturesGroup()

void clang::driver::tools::handleTargetFeaturesGroup ( const Driver D,
const llvm::Triple &  Triple,
const llvm::opt::ArgList &  Args,
std::vector< StringRef > &  Features,
llvm::opt::OptSpecifier  Group 
)

Iterate Args and convert -mxxx to +xxx and -mno-xxx to -xxx and append it to Features.

Note: Since Features may contain default values before calling this function, or may be appended with entries to override arguments, entries in Features are not unique.

References addMultilibFlag().

Referenced by clang::driver::tools::amdgpu::getAMDGPUTargetFeatures(), and getWebAssemblyTargetFeatures().

◆ haveAMDGPUCodeObjectVersionArgument()

bool clang::driver::tools::haveAMDGPUCodeObjectVersionArgument ( const Driver D,
const llvm::opt::ArgList &  Args 
)

Definition at line 2694 of file CommonArgs.cpp.

References D, and getAMDGPUCodeObjectArgument().

Referenced by handleAMDGPUCodeObjectVersionOptions().

◆ isObjCAutoRefCount()

bool clang::driver::tools::isObjCAutoRefCount ( const llvm::opt::ArgList &  Args)

◆ isTLSDESCEnabled()

bool clang::driver::tools::isTLSDESCEnabled ( const ToolChain TC,
const llvm::opt::ArgList &  Args 
)

◆ isUseSeparateSections()

bool clang::driver::tools::isUseSeparateSections ( const llvm::Triple &  Triple)

Definition at line 797 of file CommonArgs.cpp.

Referenced by clang::driver::tools::Clang::ConstructJob().

◆ linkSanitizerRuntimeDeps()

void clang::driver::tools::linkSanitizerRuntimeDeps ( const ToolChain TC,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs 
)

◆ linkXRayRuntimeDeps()

void clang::driver::tools::linkXRayRuntimeDeps ( const ToolChain TC,
const llvm::opt::ArgList &  Args,
llvm::opt::ArgStringList &  CmdArgs 
)

◆ ParseFunctionAlignment()

unsigned clang::driver::tools::ParseFunctionAlignment ( const ToolChain TC,
const llvm::opt::ArgList &  Args 
)

◆ ParsePICArgs()

std::tuple< llvm::Reloc::Model, unsigned, bool > clang::driver::tools::ParsePICArgs ( const ToolChain ToolChain,
const llvm::opt::ArgList &  Args 
)

◆ RelocationModelName()

const char * clang::driver::tools::RelocationModelName ( llvm::Reloc::Model  Model)

◆ SplitDebugInfo()

void clang::driver::tools::SplitDebugInfo ( const ToolChain TC,
Compilation C,
const Tool T,
const JobAction JA,
const llvm::opt::ArgList &  Args,
const InputInfo Output,
const char *  OutFile 
)

◆ SplitDebugName()

const char * clang::driver::tools::SplitDebugName ( const JobAction JA,
const llvm::opt::ArgList &  Args,
const InputInfo Input,
const InputInfo Output 
)

◆ unifyTargetFeatures()

SmallVector< StringRef > clang::driver::tools::unifyTargetFeatures ( ArrayRef< StringRef >  Features)

If there are multiple +xxx or -xxx features, keep the last one.

Definition at line 379 of file CommonArgs.cpp.

Referenced by getAArch64MultilibFlags(), and getARMMultilibFlags().