clang 17.0.0git
|
#include "CommonArgs.h"
#include "Arch/AArch64.h"
#include "Arch/ARM.h"
#include "Arch/CSKY.h"
#include "Arch/LoongArch.h"
#include "Arch/M68k.h"
#include "Arch/Mips.h"
#include "Arch/PPC.h"
#include "Arch/RISCV.h"
#include "Arch/Sparc.h"
#include "Arch/SystemZ.h"
#include "Arch/VE.h"
#include "Arch/X86.h"
#include "HIPAMD.h"
#include "Hexagon.h"
#include "MSP430.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/ObjCRuntime.h"
#include "clang/Basic/Version.h"
#include "clang/Config/config.h"
#include "clang/Driver/Action.h"
#include "clang/Driver/Compilation.h"
#include "clang/Driver/Driver.h"
#include "clang/Driver/DriverDiagnostic.h"
#include "clang/Driver/InputInfo.h"
#include "clang/Driver/Job.h"
#include "clang/Driver/Options.h"
#include "clang/Driver/SanitizerArgs.h"
#include "clang/Driver/ToolChain.h"
#include "clang/Driver/Util.h"
#include "clang/Driver/XRayArgs.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/Twine.h"
#include "llvm/BinaryFormat/Magic.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Option/Arg.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Option/Option.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/Compression.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/Program.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/Support/Threading.h"
#include "llvm/Support/VirtualFileSystem.h"
#include "llvm/Support/YAMLParser.h"
#include "llvm/TargetParser/Host.h"
#include "llvm/TargetParser/TargetParser.h"
#include <optional>
Go to the source code of this file.
Enumerations | |
enum class | LibGccType { UnspecifiedLibGcc , StaticLibGcc , SharedLibGcc } |
Functions | |
static void | renderRpassOptions (const ArgList &Args, ArgStringList &CmdArgs, const StringRef PluginOptPrefix) |
static void | renderRemarksOptions (const ArgList &Args, ArgStringList &CmdArgs, const llvm::Triple &Triple, const InputInfo &Input, const InputInfo &Output, const StringRef PluginOptPrefix) |
static void | renderRemarksHotnessOptions (const ArgList &Args, ArgStringList &CmdArgs, const StringRef PluginOptPrefix) |
static bool | shouldIgnoreUnsupportedTargetFeature (const Arg &TargetFeatureArg, llvm::Triple T, StringRef Processor) |
static std::string | getAMDGPUTargetGPU (const llvm::Triple &T, const ArgList &Args) |
Get the (LLVM) name of the AMDGPU gpu we are targeting. | |
static std::string | getLanaiTargetCPU (const ArgList &Args) |
static StringRef | getWebAssemblyTargetCPU (const ArgList &Args) |
Get the (LLVM) name of the WebAssembly cpu we are targeting. | |
static void | getWebAssemblyTargetFeatures (const Driver &D, const llvm::Triple &Triple, const ArgList &Args, std::vector< StringRef > &Features) |
static void | addSanitizerRuntime (const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs, StringRef Sanitizer, bool IsShared, bool IsWhole) |
static bool | addSanitizerDynamicList (const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs, StringRef Sanitizer) |
static void | collectSanitizerRuntimes (const ToolChain &TC, const ArgList &Args, SmallVectorImpl< StringRef > &SharedRuntimes, SmallVectorImpl< StringRef > &StaticRuntimes, SmallVectorImpl< StringRef > &NonWholeStaticRuntimes, SmallVectorImpl< StringRef > &HelperStaticRuntimes, SmallVectorImpl< StringRef > &RequiredSymbols) |
static unsigned | ParseDebugDefaultVersion (const ToolChain &TC, const ArgList &Args) |
static LibGccType | getLibGccType (const ToolChain &TC, const Driver &D, const ArgList &Args) |
static void | AddUnwindLibrary (const ToolChain &TC, const Driver &D, ArgStringList &CmdArgs, const ArgList &Args) |
static void | AddLibgcc (const ToolChain &TC, const Driver &D, ArgStringList &CmdArgs, const ArgList &Args) |
static llvm::opt::Arg * | getAMDGPUCodeObjectArgument (const Driver &D, const llvm::opt::ArgList &Args) |
|
strong |
Enumerator | |
---|---|
UnspecifiedLibGcc | |
StaticLibGcc | |
SharedLibGcc |
Definition at line 1747 of file CommonArgs.cpp.
|
static |
Definition at line 1832 of file CommonArgs.cpp.
References AddUnwindLibrary(), clang::driver::Driver::CCCIsCXX(), getLibGccType(), SharedLibGcc, StaticLibGcc, and UnspecifiedLibGcc.
|
static |
Definition at line 974 of file CommonArgs.cpp.
References clang::driver::ToolChain::getCompilerRT(), and clang::driver::ToolChain::getTriple().
|
static |
Definition at line 957 of file CommonArgs.cpp.
References clang::driver::tools::addArchSpecificRPath(), clang::driver::ToolChain::FT_Shared, clang::driver::ToolChain::FT_Static, and clang::driver::ToolChain::getCompilerRTArgString().
|
static |
Definition at line 1774 of file CommonArgs.cpp.
References clang::driver::Driver::CCCIsCXX(), clang::driver::tools::getAsNeededOption(), getLibGccType(), clang::driver::ToolChain::getTriple(), clang::driver::ToolChain::GetUnwindLibType(), SharedLibGcc, StaticLibGcc, UnspecifiedLibGcc, clang::driver::ToolChain::UNW_CompilerRT, clang::driver::ToolChain::UNW_Libgcc, and clang::driver::ToolChain::UNW_None.
Referenced by AddLibgcc().
|
static |
Definition at line 1034 of file CommonArgs.cpp.
References clang::driver::ToolChain::getSanitizerArgs(), clang::driver::ToolChain::getTriple(), clang::driver::SanitizerArgs::linkCXXRuntimes(), clang::driver::SanitizerArgs::linkRuntimes(), clang::driver::SanitizerArgs::needsAsanRt(), clang::driver::SanitizerArgs::needsCfiDiagRt(), clang::driver::SanitizerArgs::needsCfiRt(), clang::driver::SanitizerArgs::needsDfsanRt(), clang::driver::SanitizerArgs::needsHwasanAliasesRt(), clang::driver::SanitizerArgs::needsHwasanRt(), clang::driver::SanitizerArgs::needsLsanRt(), clang::driver::SanitizerArgs::needsMemProfRt(), clang::driver::SanitizerArgs::needsMsanRt(), clang::driver::SanitizerArgs::needsSafeStackRt(), clang::driver::SanitizerArgs::needsScudoRt(), clang::driver::SanitizerArgs::needsSharedRt(), clang::driver::SanitizerArgs::needsStatsRt(), clang::driver::SanitizerArgs::needsTsanRt(), clang::driver::SanitizerArgs::needsUbsanRt(), and clang::driver::SanitizerArgs::requiresMinimalRuntime().
|
static |
Definition at line 2282 of file CommonArgs.cpp.
Referenced by clang::driver::tools::checkAMDGPUCodeObjectVersion(), clang::driver::tools::getAMDGPUCodeObjectVersion(), and clang::driver::tools::haveAMDGPUCodeObjectVersionArgument().
|
static |
Get the (LLVM) name of the AMDGPU gpu we are targeting.
Definition at line 338 of file CommonArgs.cpp.
References clang::getProcessorFromTargetID().
|
static |
Definition at line 358 of file CommonArgs.cpp.
|
static |
Definition at line 1749 of file CommonArgs.cpp.
References clang::driver::ToolChain::getTriple(), SharedLibGcc, StaticLibGcc, and UnspecifiedLibGcc.
Referenced by AddLibgcc(), and AddUnwindLibrary().
|
static |
Get the (LLVM) name of the WebAssembly cpu we are targeting.
Definition at line 366 of file CommonArgs.cpp.
|
static |
Definition at line 482 of file CommonArgs.cpp.
References clang::driver::tools::handleTargetFeaturesGroup().
Definition at line 1687 of file CommonArgs.cpp.
References clang::driver::Driver::Diag(), and clang::driver::ToolChain::getDriver().
Referenced by clang::driver::tools::getDwarfVersion().
|
static |
Definition at line 119 of file CommonArgs.cpp.
|
static |
Definition at line 88 of file CommonArgs.cpp.
References clang::driver::InputInfo::getFilename(), and clang::driver::InputInfo::isFilename().
|
static |
Definition at line 73 of file CommonArgs.cpp.
|
static |
Definition at line 134 of file CommonArgs.cpp.