clang 20.0.0git
|
#include "clang/Basic/CodeGenOptions.h"
#include "clang/Driver/Driver.h"
#include "clang/Driver/InputInfo.h"
#include "clang/Driver/Multilib.h"
#include "clang/Driver/Tool.h"
#include "clang/Driver/ToolChain.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Option/Arg.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Support/CodeGen.h"
Go to the source code of this file.
Namespaces | |
namespace | clang |
The JSON file list parser is used to communicate input to InstallAPI. | |
namespace | clang::driver |
namespace | clang::driver::tools |
Functions | |
void | clang::driver::tools::addPathIfExists (const Driver &D, const Twine &Path, ToolChain::path_list &Paths) |
void | clang::driver::tools::AddLinkerInputs (const ToolChain &TC, const InputInfoList &Inputs, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, const JobAction &JA) |
void | clang::driver::tools::addLinkerCompressDebugSectionsOption (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
void | clang::driver::tools::claimNoWarnArgs (const llvm::opt::ArgList &Args) |
bool | clang::driver::tools::addSanitizerRuntimes (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
void | clang::driver::tools::linkSanitizerRuntimeDeps (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
bool | clang::driver::tools::addXRayRuntime (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
void | clang::driver::tools::linkXRayRuntimeDeps (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
void | clang::driver::tools::AddRunTimeLibs (const ToolChain &TC, const Driver &D, llvm::opt::ArgStringList &CmdArgs, const llvm::opt::ArgList &Args) |
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) |
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) |
const char * | clang::driver::tools::SplitDebugName (const JobAction &JA, const llvm::opt::ArgList &Args, const InputInfo &Input, const InputInfo &Output) |
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) |
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) |
const char * | clang::driver::tools::RelocationModelName (llvm::Reloc::Model Model) |
std::tuple< llvm::Reloc::Model, unsigned, bool > | clang::driver::tools::ParsePICArgs (const ToolChain &ToolChain, const llvm::opt::ArgList &Args) |
unsigned | clang::driver::tools::ParseFunctionAlignment (const ToolChain &TC, const llvm::opt::ArgList &Args) |
void | clang::driver::tools::addDebugInfoKind (llvm::opt::ArgStringList &CmdArgs, llvm::codegenoptions::DebugInfoKind DebugInfoKind) |
llvm::codegenoptions::DebugInfoKind | clang::driver::tools::debugLevelToInfoKind (const llvm::opt::Arg &A) |
unsigned | clang::driver::tools::DwarfVersionNum (StringRef ArgValue) |
const llvm::opt::Arg * | clang::driver::tools::getDwarfNArg (const llvm::opt::ArgList &Args) |
unsigned | clang::driver::tools::getDwarfVersion (const ToolChain &TC, const llvm::opt::ArgList &Args) |
void | clang::driver::tools::AddAssemblerKPIC (const ToolChain &ToolChain, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
void | clang::driver::tools::addArchSpecificRPath (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
void | clang::driver::tools::addOpenMPRuntimeLibraryPath (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
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. | |
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 . | |
void | clang::driver::tools::addFortranRuntimeLibs (const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
Adds Fortran runtime libraries to CmdArgs . | |
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 . | |
void | clang::driver::tools::addHIPRuntimeLibArgs (const ToolChain &TC, Compilation &C, 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) |
llvm::opt::Arg * | clang::driver::tools::getLastCSProfileGenerateArg (const llvm::opt::ArgList &Args) |
llvm::opt::Arg * | clang::driver::tools::getLastProfileUseArg (const llvm::opt::ArgList &Args) |
llvm::opt::Arg * | clang::driver::tools::getLastProfileSampleUseArg (const llvm::opt::ArgList &Args) |
bool | clang::driver::tools::isObjCAutoRefCount (const llvm::opt::ArgList &Args) |
llvm::StringRef | clang::driver::tools::getLTOParallelism (const llvm::opt::ArgList &Args, const Driver &D) |
bool | clang::driver::tools::areOptimizationsEnabled (const llvm::opt::ArgList &Args) |
bool | clang::driver::tools::isUseSeparateSections (const llvm::Triple &Triple) |
bool | clang::driver::tools::isTLSDESCEnabled (const ToolChain &TC, const llvm::opt::ArgList &Args) |
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. | |
void | clang::driver::tools::AddTargetFeature (const llvm::opt::ArgList &Args, std::vector< StringRef > &Features, llvm::opt::OptSpecifier OnOpt, llvm::opt::OptSpecifier OffOpt, StringRef FeatureName) |
std::string | clang::driver::tools::getCPUName (const Driver &D, const llvm::opt::ArgList &Args, const llvm::Triple &T, bool FromAs=false) |
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) |
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 . | |
SmallVector< StringRef > | clang::driver::tools::unifyTargetFeatures (ArrayRef< StringRef > Features) |
If there are multiple +xxx or -xxx features, keep the last one. | |
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. | |
void | clang::driver::tools::addMultilibFlag (bool Enabled, const StringRef Flag, Multilib::flags_list &Flags) |
Flag must be a flag accepted by the driver. | |
void | clang::driver::tools::addX86AlignBranchArgs (const Driver &D, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, bool IsLTO, const StringRef PluginOptPrefix="") |
void | clang::driver::tools::checkAMDGPUCodeObjectVersion (const Driver &D, const llvm::opt::ArgList &Args) |
unsigned | clang::driver::tools::getAMDGPUCodeObjectVersion (const Driver &D, const llvm::opt::ArgList &Args) |
bool | clang::driver::tools::haveAMDGPUCodeObjectVersionArgument (const Driver &D, const llvm::opt::ArgList &Args) |
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="") |
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) |
void | clang::driver::tools::addOutlineAtomicsArgs (const Driver &D, const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, const llvm::Triple &Triple) |
void | clang::driver::tools::addOffloadCompressArgs (const llvm::opt::ArgList &TCArgs, llvm::opt::ArgStringList &CmdArgs) |
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) |
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. | |
void | clang::driver::tools::escapeSpacesAndBackslashes (const char *Arg, llvm::SmallVectorImpl< char > &Res) |
Add backslashes to escape spaces and other backslashes. | |
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. | |
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. | |
void | clang::driver::tools::renderCommonIntegerOverflowOptions (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) |
clang::CodeGenOptions::FramePointerKind | getFramePointerKind (const llvm::opt::ArgList &Args, const llvm::Triple &Triple) |
clang::CodeGenOptions::FramePointerKind getFramePointerKind | ( | const llvm::opt::ArgList & | Args, |
const llvm::Triple & | Triple | ||
) |
Definition at line 216 of file CommonArgs.cpp.
References clang::CodeGenOptions::All, framePointerImpliesLeafFramePointer(), mustMaintainValidFrameChain(), mustUseNonLeafFramePointerForTarget(), clang::CodeGenOptions::None, clang::CodeGenOptions::NonLeaf, clang::CodeGenOptions::Reserved, useFramePointerForTargetByDefault(), and useLeafFramePointerForTargetByDefault().
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::Flang::ConstructJob().