clang 20.0.0git
|
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 | uefi |
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 | 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, bool > | ParsePICArgs (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) |
void | handleColorDiagnosticsArgs (const Driver &D, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
Handle the -f{no}-color-diagnostics and -f{no}-diagnostics-colors options. | |
void | escapeSpacesAndBackslashes (const char *Arg, llvm::SmallVectorImpl< char > &Res) |
Add backslashes to escape spaces and other backslashes. | |
const char * | renderEscapedCommandLine (const ToolChain &TC, const llvm::opt::ArgList &Args) |
Join the args in the given ArgList, escape spaces and backslashes and return the joined string. | |
bool | shouldRecordCommandLine (const ToolChain &TC, const llvm::opt::ArgList &Args, bool &FRecordCommandLine, bool &GRecordCommandLine) |
Check if the command line should be recorded in the object file. | |
void | renderCommonIntegerOverflowOptions (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
|
strong |
void clang::driver::tools::addArchSpecificRPath | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs | ||
) |
Referenced by clang::driver::toolchains::VEToolChain::AddCXXStdlibLibArgs(), and addSanitizerRuntime().
void clang::driver::tools::addAsNeededOption | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs, | ||
bool | as_needed | ||
) |
Definition at line 1402 of file CommonArgs.cpp.
References clang::driver::ToolChain::getTriple(), and clang::driver::tools::solaris::isLinkerGnuLd().
Referenced by AddUnwindLibrary(), and clang::driver::tools::solaris::Linker::ConstructJob().
void clang::driver::tools::AddAssemblerKPIC | ( | const ToolChain & | ToolChain, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs | ||
) |
void clang::driver::tools::addDebugInfoKind | ( | llvm::opt::ArgStringList & | CmdArgs, |
llvm::codegenoptions::DebugInfoKind | DebugInfoKind | ||
) |
Referenced by RenderDebugEnablingArgs().
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().
void clang::driver::tools::addFortranRuntimeLibraryPath | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs | ||
) |
Adds the path for the Fortran runtime libraries to CmdArgs
.
Referenced by clang::driver::tools::aix::Linker::ConstructJob(), clang::driver::tools::darwin::Linker::ConstructJob(), clang::driver::tools::dragonfly::Linker::ConstructJob(), clang::driver::tools::freebsd::Linker::ConstructJob(), clang::driver::tools::gnutools::Linker::ConstructJob(), clang::driver::tools::haiku::Linker::ConstructJob(), clang::driver::tools::MinGW::Linker::ConstructJob(), clang::driver::tools::visualstudio::Linker::ConstructJob(), clang::driver::tools::netbsd::Linker::ConstructJob(), clang::driver::tools::openbsd::Linker::ConstructJob(), and clang::driver::tools::solaris::Linker::ConstructJob().
void clang::driver::tools::addFortranRuntimeLibs | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs | ||
) |
Adds Fortran runtime libraries to CmdArgs
.
Referenced by clang::driver::tools::aix::Linker::ConstructJob(), clang::driver::tools::darwin::Linker::ConstructJob(), clang::driver::tools::dragonfly::Linker::ConstructJob(), clang::driver::tools::freebsd::Linker::ConstructJob(), clang::driver::tools::gnutools::Linker::ConstructJob(), clang::driver::tools::haiku::Linker::ConstructJob(), clang::driver::tools::MinGW::Linker::ConstructJob(), clang::driver::tools::visualstudio::Linker::ConstructJob(), clang::driver::tools::netbsd::Linker::ConstructJob(), clang::driver::tools::openbsd::Linker::ConstructJob(), and clang::driver::tools::solaris::Linker::ConstructJob().
void clang::driver::tools::addHIPRuntimeLibArgs | ( | const ToolChain & | TC, |
Compilation & | C, | ||
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs | ||
) |
Definition at line 2882 of file CommonArgs.cpp.
References clang::driver::ToolChain::AddHIPRuntimeLibArgs(), clang::C, and clang::driver::Action::OFK_HIP.
Referenced by clang::driver::tools::gnutools::Linker::ConstructJob(), and clang::driver::tools::visualstudio::Linker::ConstructJob().
void clang::driver::tools::addLinkerCompressDebugSectionsOption | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs | ||
) |
Definition at line 532 of file CommonArgs.cpp.
References clang::driver::Driver::Diag(), clang::driver::ToolChain::getDriver(), and V.
Referenced by clang::driver::tools::amdgpu::Linker::ConstructJob(), clang::driver::tools::freebsd::Linker::ConstructJob(), clang::driver::tools::fuchsia::Linker::ConstructJob(), clang::driver::tools::gnutools::Linker::ConstructJob(), and clang::driver::tools::haiku::Linker::ConstructJob().
void clang::driver::tools::AddLinkerInputs | ( | const ToolChain & | TC, |
const InputInfoList & | Inputs, | ||
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs, | ||
const JobAction & | JA | ||
) |
Referenced by constructHexagonLinkArgs(), clang::driver::tools::aix::Linker::ConstructJob(), clang::driver::tools::amdgpu::Linker::ConstructJob(), clang::driver::tools::AVR::Linker::ConstructJob(), clang::driver::tools::baremetal::Linker::ConstructJob(), clang::driver::tools::CrossWindows::Linker::ConstructJob(), clang::driver::tools::CSKY::Linker::ConstructJob(), clang::driver::tools::NVPTX::Linker::ConstructJob(), clang::driver::tools::darwin::Linker::ConstructJob(), clang::driver::tools::dragonfly::Linker::ConstructJob(), clang::driver::tools::freebsd::Linker::ConstructJob(), clang::driver::tools::fuchsia::Linker::ConstructJob(), clang::driver::tools::gnutools::Linker::ConstructJob(), clang::driver::tools::haiku::Linker::ConstructJob(), clang::driver::tools::MinGW::Linker::ConstructJob(), clang::driver::tools::msp430::Linker::ConstructJob(), clang::driver::tools::nacltools::Linker::ConstructJob(), clang::driver::tools::netbsd::Linker::ConstructJob(), clang::driver::tools::openbsd::Linker::ConstructJob(), clang::driver::tools::PS4cpu::Linker::ConstructJob(), clang::driver::tools::PS5cpu::Linker::ConstructJob(), clang::driver::tools::RISCV::Linker::ConstructJob(), clang::driver::tools::solaris::Linker::ConstructJob(), clang::driver::tools::SPIRV::Linker::ConstructJob(), clang::driver::tools::uefi::Linker::ConstructJob(), clang::driver::tools::wasm::Linker::ConstructJob(), clang::driver::tools::XCore::Linker::ConstructJob(), and clang::driver::tools::zos::Linker::ConstructJob().
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 | ||
) |
Referenced by clang::driver::tools::aix::Linker::ConstructJob(), clang::driver::tools::amdgpu::Linker::ConstructJob(), clang::driver::tools::AVR::Linker::ConstructJob(), clang::driver::tools::baremetal::Linker::ConstructJob(), clang::driver::tools::NVPTX::Linker::ConstructJob(), clang::driver::tools::freebsd::Linker::ConstructJob(), clang::driver::tools::fuchsia::Linker::ConstructJob(), clang::driver::tools::gnutools::Linker::ConstructJob(), clang::driver::tools::haiku::Linker::ConstructJob(), clang::driver::tools::MinGW::Linker::ConstructJob(), and clang::driver::tools::openbsd::Linker::ConstructJob().
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 2766 of file CommonArgs.cpp.
References D.
Referenced by clang::driver::tools::Clang::ConstructJob().
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 | ||
) |
Definition at line 2934 of file CommonArgs.cpp.
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::Flang::ConstructJob().
void clang::driver::tools::addMultilibFlag | ( | bool | Enabled, |
const StringRef | Flag, | ||
Multilib::flags_list & | Flags | ||
) |
Flag
must be a flag accepted by the driver.
Definition at line 2352 of file CommonArgs.cpp.
Referenced by findOHOSMultilibs(), findRISCVMultilibs(), clang::driver::MultilibBuilder::flag(), clang::driver::toolchains::Fuchsia::Fuchsia(), and handleTargetFeaturesGroup().
void clang::driver::tools::addOffloadCompressArgs | ( | const llvm::opt::ArgList & | TCArgs, |
llvm::opt::ArgStringList & | CmdArgs | ||
) |
Definition at line 2922 of file CommonArgs.cpp.
Referenced by clang::driver::tools::OffloadBundler::ConstructJob(), and clang::driver::tools::LinkerWrapper::ConstructJob().
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 | ||
) |
Definition at line 2818 of file CommonArgs.cpp.
References D, clang::driver::ToolChain::getFilePaths(), and Path.
Referenced by clang::driver::toolchains::CudaToolChain::addClangTargetOptions().
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 1298 of file CommonArgs.cpp.
References clang::C, clang::driver::Action::isHostOffloading(), and clang::driver::Action::OFK_OpenMP.
Referenced by clang::driver::tools::Clang::ConstructJob().
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 |
||
) |
Returns true, if an OpenMP runtime has been added.
Referenced by clang::driver::tools::darwin::Linker::ConstructJob(), clang::driver::tools::dragonfly::Linker::ConstructJob(), clang::driver::tools::freebsd::Linker::ConstructJob(), clang::driver::tools::gnutools::Linker::ConstructJob(), clang::driver::tools::haiku::Linker::ConstructJob(), clang::driver::tools::netbsd::Linker::ConstructJob(), clang::driver::tools::openbsd::Linker::ConstructJob(), and clang::driver::tools::solaris::Linker::ConstructJob().
void clang::driver::tools::addOpenMPRuntimeLibraryPath | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs | ||
) |
void clang::driver::tools::addOutlineAtomicsArgs | ( | const Driver & | D, |
const ToolChain & | TC, | ||
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs, | ||
const llvm::Triple & | Triple | ||
) |
Definition at line 2897 of file CommonArgs.cpp.
References D, and clang::driver::ToolChain::IsAArch64OutlineAtomicsDefault().
Referenced by clang::driver::tools::Clang::ConstructJob().
void clang::driver::tools::addPathIfExists | ( | const Driver & | D, |
const Twine & | Path, | ||
ToolChain::path_list & | Paths | ||
) |
Definition at line 345 of file CommonArgs.cpp.
Referenced by addMultilibsFilePaths(), clang::driver::toolchains::MSP430ToolChain::MSP430ToolChain(), clang::driver::toolchains::OHOS::OHOS(), and clang::driver::toolchains::Solaris::Solaris().
void clang::driver::tools::AddRunTimeLibs | ( | const ToolChain & | TC, |
const Driver & | D, | ||
llvm::opt::ArgStringList & | CmdArgs, | ||
const llvm::opt::ArgList & | Args | ||
) |
Referenced by clang::driver::tools::aix::Linker::ConstructJob(), clang::driver::tools::baremetal::Linker::ConstructJob(), clang::driver::tools::CrossWindows::Linker::ConstructJob(), clang::driver::tools::CSKY::Linker::ConstructJob(), clang::driver::tools::fuchsia::Linker::ConstructJob(), clang::driver::tools::gnutools::Linker::ConstructJob(), clang::driver::tools::msp430::Linker::ConstructJob(), clang::driver::tools::visualstudio::Linker::ConstructJob(), clang::driver::tools::RISCV::Linker::ConstructJob(), clang::driver::tools::wasm::Linker::ConstructJob(), and clang::driver::tools::zos::Linker::ConstructJob().
bool clang::driver::tools::addSanitizerRuntimes | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs | ||
) |
Referenced by constructHexagonLinkArgs(), clang::driver::tools::freebsd::Linker::ConstructJob(), clang::driver::tools::fuchsia::Linker::ConstructJob(), clang::driver::tools::gnutools::Linker::ConstructJob(), clang::driver::tools::hexagon::Assembler::ConstructJob(), clang::driver::tools::netbsd::Linker::ConstructJob(), clang::driver::tools::openbsd::Linker::ConstructJob(), and clang::driver::tools::solaris::Linker::ConstructJob().
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 | ||
) |
Definition at line 2654 of file CommonArgs.cpp.
References clang::C, D, clang::FileName, GetSDLFromOffloadArchive(), clang::driver::types::lookupTypeForExtension(), Path, SDLSearch(), clang::T, and clang::driver::types::TY_INVALID.
Referenced by 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 2620 of file CommonArgs.cpp.
References AddStaticDeviceLibs(), clang::C, and clang::T.
void clang::driver::tools::AddTargetFeature | ( | const llvm::opt::ArgList & | Args, |
std::vector< StringRef > & | Features, | ||
llvm::opt::OptSpecifier | OnOpt, | ||
llvm::opt::OptSpecifier | OffOpt, | ||
StringRef | FeatureName | ||
) |
void clang::driver::tools::addX86AlignBranchArgs | ( | const Driver & | D, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs, | ||
bool | IsLTO, | ||
const StringRef | PluginOptPrefix = "" |
||
) |
Referenced by clang::driver::tools::ClangAs::AddX86TargetArgs().
bool clang::driver::tools::addXRayRuntime | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs | ||
) |
Referenced by constructHexagonLinkArgs(), clang::driver::tools::freebsd::Linker::ConstructJob(), clang::driver::tools::fuchsia::Linker::ConstructJob(), clang::driver::tools::gnutools::Linker::ConstructJob(), clang::driver::tools::netbsd::Linker::ConstructJob(), and clang::driver::tools::openbsd::Linker::ConstructJob().
bool clang::driver::tools::areOptimizationsEnabled | ( | const llvm::opt::ArgList & | Args | ) |
Referenced by useFramePointerForTargetByDefault().
void clang::driver::tools::checkAMDGPUCodeObjectVersion | ( | const Driver & | D, |
const llvm::opt::ArgList & | Args | ||
) |
Definition at line 2729 of file CommonArgs.cpp.
References D, and getAMDGPUCodeObjectArgument().
void clang::driver::tools::claimNoWarnArgs | ( | const llvm::opt::ArgList & | Args | ) |
Referenced by clang::driver::tools::Clang::ConstructJob(), clang::driver::tools::ClangAs::ConstructJob(), clang::driver::tools::CrossWindows::Assembler::ConstructJob(), clang::driver::tools::dragonfly::Assembler::ConstructJob(), clang::driver::tools::freebsd::Assembler::ConstructJob(), clang::driver::tools::gnutools::Assembler::ConstructJob(), clang::driver::tools::hexagon::Assembler::ConstructJob(), clang::driver::tools::MinGW::Assembler::ConstructJob(), clang::driver::tools::netbsd::Assembler::ConstructJob(), clang::driver::tools::openbsd::Assembler::ConstructJob(), clang::driver::tools::PScpu::Assembler::ConstructJob(), clang::driver::tools::SPIRV::Translator::ConstructJob(), and clang::driver::tools::XCore::Assembler::ConstructJob().
llvm::codegenoptions::DebugInfoKind clang::driver::tools::debugLevelToInfoKind | ( | const llvm::opt::Arg & | A | ) |
Referenced by renderDebugOptions().
unsigned clang::driver::tools::DwarfVersionNum | ( | StringRef | ArgValue | ) |
Definition at line 2142 of file CommonArgs.cpp.
Referenced by CollectArgsForIntegratedAssembler(), and getDwarfVersion().
void clang::driver::tools::escapeSpacesAndBackslashes | ( | const char * | Arg, |
llvm::SmallVectorImpl< char > & | Res | ||
) |
Add backslashes to escape spaces and other backslashes.
This is used for the space-separated argument list specified with the -dwarf-debug-flags option.
Definition at line 3039 of file CommonArgs.cpp.
Referenced by clang::driver::tools::ClangAs::ConstructJob(), and renderEscapedCommandLine().
unsigned clang::driver::tools::getAMDGPUCodeObjectVersion | ( | const Driver & | D, |
const llvm::opt::ArgList & | Args | ||
) |
Definition at line 2753 of file CommonArgs.cpp.
References D, and getAMDGPUCodeObjectArgument().
Referenced by clang::driver::toolchains::ROCMToolChain::addClangTargetOptions(), clang::driver::toolchains::ROCMToolChain::getCommonDeviceLibNames(), and handleAMDGPUCodeObjectVersionOptions().
std::string clang::driver::tools::getCPUName | ( | const Driver & | D, |
const llvm::opt::ArgList & | Args, | ||
const llvm::Triple & | T, | ||
bool | FromAs = false |
||
) |
Referenced by clang::driver::toolchains::AVRToolChain::addClangTargetOptions(), clang::driver::toolchains::AVRToolChain::AVRToolChain(), clang::driver::tools::AVR::Linker::ConstructJob(), clang::driver::tools::Clang::ConstructJob(), clang::driver::tools::ClangAs::ConstructJob(), clang::driver::tools::freebsd::Assembler::ConstructJob(), clang::driver::tools::fuchsia::Linker::ConstructJob(), clang::driver::tools::gnutools::Assembler::ConstructJob(), clang::driver::tools::gnutools::Linker::ConstructJob(), clang::driver::tools::netbsd::Assembler::ConstructJob(), and clang::driver::tools::openbsd::Assembler::ConstructJob().
llvm::SmallString< 256 > clang::driver::tools::getCXX20NamedModuleOutputPath | ( | const llvm::opt::ArgList & | Args, |
const char * | BaseInput | ||
) |
Referenced by GetModuleOutputPath(), and RenderModulesOptions().
DwarfFissionKind clang::driver::tools::getDebugFissionKind | ( | const Driver & | D, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::Arg *& | Arg | ||
) |
Referenced by clang::driver::tools::ClangAs::ConstructJob(), and renderDebugOptions().
const llvm::opt::Arg * clang::driver::tools::getDwarfNArg | ( | const llvm::opt::ArgList & | Args | ) |
Referenced by clang::driver::tools::ClangAs::ConstructJob(), getDwarfVersion(), and renderDebugOptions().
unsigned clang::driver::tools::getDwarfVersion | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args | ||
) |
Definition at line 2157 of file CommonArgs.cpp.
References clang::driver::Driver::Diag(), DwarfVersionNum(), clang::driver::ToolChain::GetDefaultDwarfVersion(), clang::driver::ToolChain::getDriver(), getDwarfNArg(), clang::driver::ToolChain::getTriple(), and ParseDebugDefaultVersion().
Referenced by clang::driver::tools::ClangAs::ConstructJob(), clang::driver::tools::gnutools::Assembler::ConstructJob(), and renderDebugOptions().
llvm::opt::Arg * clang::driver::tools::getLastCSProfileGenerateArg | ( | const llvm::opt::ArgList & | Args | ) |
Referenced by addPGOAndCoverageFlags().
llvm::opt::Arg * clang::driver::tools::getLastProfileSampleUseArg | ( | const llvm::opt::ArgList & | Args | ) |
Referenced by addPGOAndCoverageFlags(), clang::driver::tools::Clang::ConstructJob(), and renderDebugOptions().
llvm::opt::Arg * clang::driver::tools::getLastProfileUseArg | ( | const llvm::opt::ArgList & | Args | ) |
Referenced by addPGOAndCoverageFlags(), and renderRemarksOptions().
llvm::StringRef clang::driver::tools::getLTOParallelism | ( | const llvm::opt::ArgList & | Args, |
const Driver & | D | ||
) |
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 2321 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().
void clang::driver::tools::handleColorDiagnosticsArgs | ( | const Driver & | D, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs | ||
) |
Handle the -f{no}-color-diagnostics and -f{no}-diagnostics-colors options.
Referenced by clang::driver::tools::Flang::ConstructJob(), and RenderDiagnosticsOptions().
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().
bool clang::driver::tools::haveAMDGPUCodeObjectVersionArgument | ( | const Driver & | D, |
const llvm::opt::ArgList & | Args | ||
) |
Definition at line 2761 of file CommonArgs.cpp.
References D, and getAMDGPUCodeObjectArgument().
Referenced by handleAMDGPUCodeObjectVersionOptions().
bool clang::driver::tools::isObjCAutoRefCount | ( | const llvm::opt::ArgList & | Args | ) |
bool clang::driver::tools::isTLSDESCEnabled | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args | ||
) |
Definition at line 827 of file CommonArgs.cpp.
References clang::driver::Driver::Diag(), clang::driver::ToolChain::getDriver(), clang::driver::ToolChain::getEffectiveTriple(), and V.
Referenced by clang::driver::tools::Clang::ConstructJob().
bool clang::driver::tools::isUseSeparateSections | ( | const llvm::Triple & | Triple | ) |
Definition at line 823 of file CommonArgs.cpp.
Referenced by clang::driver::tools::Clang::ConstructJob().
void clang::driver::tools::linkSanitizerRuntimeDeps | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs | ||
) |
Referenced by constructHexagonLinkArgs(), clang::driver::tools::freebsd::Linker::ConstructJob(), clang::driver::tools::gnutools::Linker::ConstructJob(), clang::driver::tools::netbsd::Linker::ConstructJob(), clang::driver::tools::openbsd::Linker::ConstructJob(), and clang::driver::tools::solaris::Linker::ConstructJob().
void clang::driver::tools::linkXRayRuntimeDeps | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs | ||
) |
unsigned clang::driver::tools::ParseFunctionAlignment | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args | ||
) |
Referenced by clang::driver::tools::Clang::ConstructJob().
const char * clang::driver::tools::RelocationModelName | ( | llvm::Reloc::Model | Model | ) |
Definition at line 1822 of file CommonArgs.cpp.
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::ClangAs::ConstructJob().
void clang::driver::tools::renderCommonIntegerOverflowOptions | ( | const llvm::opt::ArgList & | Args, |
llvm::opt::ArgStringList & | CmdArgs | ||
) |
const char * clang::driver::tools::renderEscapedCommandLine | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args | ||
) |
Join the args in the given ArgList, escape spaces and backslashes and return the joined string.
This is used when saving the command line as a result of using either the -frecord-command-line or -grecord-command-line options. The lifetime of the returned c-string will match that of the Args argument.
Definition at line 3054 of file CommonArgs.cpp.
References D, escapeSpacesAndBackslashes(), and clang::driver::ToolChain::getDriver().
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::Flang::ConstructJob().
bool clang::driver::tools::shouldRecordCommandLine | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
bool & | FRecordCommandLine, | ||
bool & | GRecordCommandLine | ||
) |
Check if the command line should be recorded in the object file.
This is done if either -frecord-command-line or -grecord-command-line options have been passed. This also does some error checking since -frecord-command-line is currently only supported on ELF platforms. The last two boolean arguments are out parameters and will be set depending on the command line options that were passed.
Definition at line 3075 of file CommonArgs.cpp.
References D, clang::driver::ToolChain::getDriver(), clang::driver::ToolChain::getEffectiveTriple(), and clang::driver::ToolChain::UseDwarfDebugFlags().
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::Flang::ConstructJob().
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 | ||
) |
SmallVector< StringRef > clang::driver::tools::unifyTargetFeatures | ( | ArrayRef< StringRef > | Features | ) |
If there are multiple +xxx or -xxx features, keep the last one.
Definition at line 383 of file CommonArgs.cpp.
Referenced by getAArch64MultilibFlags(), and getARMMultilibFlags().