clang 22.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 | 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 | 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 | |
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) |
const char * | getLDMOption (const llvm::Triple &T, const llvm::opt::ArgList &Args) |
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 InputInfoList &Inputs, 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) |
bool | getStaticPIE (const llvm::opt::ArgList &Args, const ToolChain &TC) |
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 | 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 | addOpenCLBuiltinsLib (const Driver &D, const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) |
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) |
bool | shouldEnableVectorizerAtOLevel (const llvm::opt::ArgList &Args, bool isSlpVec) |
void | handleInterchangeLoopsArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
Enable -floop-interchange based on the optimization level selected. | |
void | handleVectorizeLoopsArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
Enable -fvectorize based on the optimization level selected. | |
void | handleVectorizeSLPArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
Enable -fslp-vectorize based on the optimization level selected. | |
StringRef | parseMPreferVectorWidthOption (clang::DiagnosticsEngine &Diags, const llvm::opt::ArgList &Args) |
StringRef | parseMRecipOption (clang::DiagnosticsEngine &Diags, const llvm::opt::ArgList &Args) |
std::string | complexRangeKindToStr (LangOptions::ComplexRangeKind Range) |
std::string | renderComplexRangeOption (LangOptions::ComplexRangeKind Range) |
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) |
|
strong |
void clang::driver::tools::addArchSpecificRPath | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs ) |
void clang::driver::tools::addAsNeededOption | ( | const ToolChain & | TC, |
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs, | ||
bool | as_needed ) |
Definition at line 1497 of file CommonArgs.cpp.
References clang::driver::ToolChain::getTriple(), and clang::driver::tools::solaris::isLinkerGnuLd().
Referenced by clang::driver::ToolChain::addFortranRuntimeLibs(), 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::addHIPRuntimeLibArgs | ( | const ToolChain & | TC, |
Compilation & | C, | ||
const llvm::opt::ArgList & | Args, | ||
llvm::opt::ArgStringList & | CmdArgs ) |
Definition at line 2988 of file CommonArgs.cpp.
References clang::driver::ToolChain::AddHIPRuntimeLibArgs(), clang::C, clang::driver::ToolChain::getTriple(), 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 629 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::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::netbsd::Linker::ConstructJob(), clang::driver::tools::NVPTX::Linker::ConstructJob(), clang::driver::tools::openbsd::Linker::ConstructJob(), clang::driver::tools::PS4cpu::Linker::ConstructJob(), clang::driver::tools::PS5cpu::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 InputInfoList & | Inputs, | ||
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::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::NVPTX::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 2864 of file CommonArgs.cpp.
References clang::driver::Driver::Diag().
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 3078 of file CommonArgs.cpp.
References clang::driver::Driver::Diag(), and Ok.
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 2458 of file CommonArgs.cpp.
Referenced by findAndroidArmMultilibs(), findBiarchMultilibs(), findCSKYMultilibs(), findMSP430Multilibs(), findOHOSMultilibs(), findRISCVBareMetalMultilibs(), findRISCVMultilibs(), findRISCVMultilibs(), clang::driver::MultilibBuilder::flag(), clang::driver::toolchains::Fuchsia::Fuchsia(), and selectRISCVMultilib().
void clang::driver::tools::addOffloadCompressArgs | ( | const llvm::opt::ArgList & | TCArgs, |
llvm::opt::ArgStringList & | CmdArgs ) |
Definition at line 3066 of file CommonArgs.cpp.
Referenced by clang::driver::tools::LinkerWrapper::ConstructJob(), and clang::driver::tools::OffloadBundler::ConstructJob().
void clang::driver::tools::addOpenCLBuiltinsLib | ( | const Driver & | D, |
const llvm::opt::ArgList & | DriverArgs, | ||
llvm::opt::ArgStringList & | CC1Args ) |
Definition at line 3004 of file CommonArgs.cpp.
References clang::driver::Driver::Diag(), and clang::driver::Driver::ResourceDir.
Referenced by clang::driver::toolchains::AMDGPUToolChain::addClangTargetOptions().
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 2916 of file CommonArgs.cpp.
References clang::driver::Driver::Diag(), clang::driver::Driver::Dir, and clang::driver::ToolChain::getFilePaths().
Referenced by clang::driver::toolchains::CudaToolChain::addClangTargetOptions(), and clang::driver::toolchains::SPIRVOpenMPToolChain::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 1444 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.
References clang::C.
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 3041 of file CommonArgs.cpp.
References clang::driver::Driver::Diag(), 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 357 of file CommonArgs.cpp.
References clang::driver::Driver::getVFS().
Referenced by addMultilibsFilePaths(), 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 ) |
References Arch, clang::C, clang::T, and clang::Target.
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::solaris::Linker::ConstructJob(), clang::driver::tools::visualstudio::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::haiku::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 2758 of file CommonArgs.cpp.
References Arch, clang::C, clang::driver::Driver::Dir, clang::FileName, GetSDLFromOffloadArchive(), clang::driver::types::lookupTypeForExtension(), SDLSearch(), clang::T, clang::Target, 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 2724 of file CommonArgs.cpp.
References AddStaticDeviceLibs(), Arch, clang::C, clang::T, and clang::Target.
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 2833 of file CommonArgs.cpp.
References clang::driver::Driver::Diag(), 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::Assembler::ConstructJob(), clang::driver::tools::SPIRV::Translator::ConstructJob(), and clang::driver::tools::XCore::Assembler::ConstructJob().
std::string clang::driver::tools::complexRangeKindToStr | ( | LangOptions::ComplexRangeKind | Range | ) |
Definition at line 3505 of file CommonArgs.cpp.
References clang::LangOptionsBase::CX_Basic, clang::LangOptionsBase::CX_Full, clang::LangOptionsBase::CX_Improved, and clang::LangOptionsBase::CX_Promoted.
Referenced by addFloatingPointOptions(), ComplexArithmeticStr(), renderComplexRangeOption(), and RenderFloatingPointOptions().
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 2241 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 3184 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 2851 of file CommonArgs.cpp.
References 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 ) |
References clang::T.
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 2256 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 | ) |
llvm::opt::Arg * clang::driver::tools::getLastProfileUseArg | ( | const llvm::opt::ArgList & | Args | ) |
Referenced by addPGOAndCoverageFlags(), and renderRemarksOptions().
const char * clang::driver::tools::getLDMOption | ( | const llvm::Triple & | T, |
const llvm::opt::ArgList & | Args ) |
References clang::T.
Referenced by clang::driver::tools::baremetal::Linker::ConstructJob(), and clang::driver::tools::gnutools::Linker::ConstructJob().
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 2427 of file CommonArgs.cpp.
References clang::driver::Driver::CCPrintInternalStatReportFilename, clang::driver::Driver::CCPrintInternalStats, clang::driver::Driver::Diag(), 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::handleInterchangeLoopsArgs | ( | const llvm::opt::ArgList & | Args, |
llvm::opt::ArgStringList & | CmdArgs ) |
Enable -floop-interchange based on the optimization level selected.
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.
Referenced by clang::driver::tools::amdgpu::getAMDGPUTargetFeatures(), and getWebAssemblyTargetFeatures().
void clang::driver::tools::handleVectorizeLoopsArgs | ( | const llvm::opt::ArgList & | Args, |
llvm::opt::ArgStringList & | CmdArgs ) |
Enable -fvectorize based on the optimization level selected.
Referenced by clang::driver::tools::Clang::ConstructJob().
void clang::driver::tools::handleVectorizeSLPArgs | ( | const llvm::opt::ArgList & | Args, |
llvm::opt::ArgStringList & | CmdArgs ) |
Enable -fslp-vectorize based on the optimization level selected.
Referenced by clang::driver::tools::Clang::ConstructJob().
bool clang::driver::tools::haveAMDGPUCodeObjectVersionArgument | ( | const Driver & | D, |
const llvm::opt::ArgList & | Args ) |
Definition at line 2859 of file CommonArgs.cpp.
References 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 924 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 920 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::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::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().
StringRef clang::driver::tools::parseMPreferVectorWidthOption | ( | clang::DiagnosticsEngine & | Diags, |
const llvm::opt::ArgList & | Args ) |
Definition at line 3344 of file CommonArgs.cpp.
References clang::DiagnosticsEngine::Report().
Referenced by clang::driver::tools::Clang::ConstructJob().
StringRef clang::driver::tools::parseMRecipOption | ( | clang::DiagnosticsEngine & | Diags, |
const llvm::opt::ArgList & | Args ) |
Referenced by addFloatingPointOptions(), and RenderFloatingPointOptions().
const char * clang::driver::tools::RelocationModelName | ( | llvm::Reloc::Model | Model | ) |
Definition at line 1920 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 ) |
std::string clang::driver::tools::renderComplexRangeOption | ( | LangOptions::ComplexRangeKind | Range | ) |
Definition at line 3525 of file CommonArgs.cpp.
References complexRangeKindToStr().
Referenced by addFloatingPointOptions(), and RenderFloatingPointOptions().
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 3199 of file CommonArgs.cpp.
References escapeSpacesAndBackslashes(), clang::driver::Driver::getClangProgramPath(), and clang::driver::ToolChain::getDriver().
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::Flang::ConstructJob().
bool clang::driver::tools::shouldEnableVectorizerAtOLevel | ( | const llvm::opt::ArgList & | Args, |
bool | isSlpVec ) |
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 3220 of file CommonArgs.cpp.
References clang::driver::Driver::Diag(), 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 ) |
References clang::C, and clang::T.
Referenced by clang::driver::tools::gnutools::Assembler::ConstructJob(), and clang::driver::tools::MinGW::Assembler::ConstructJob().
SmallVector< StringRef > clang::driver::tools::unifyTargetFeatures | ( | ArrayRef< StringRef > | Features | ) |
If there are multiple +xxx or -xxx features, keep the last one.
Definition at line 395 of file CommonArgs.cpp.
References Feature.
Referenced by getAArch64MultilibFlags(), and getARMMultilibFlags().