clang 17.0.0git
Enumerations | Functions
CommonArgs.cpp File Reference
#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)
 

Enumeration Type Documentation

◆ LibGccType

enum class LibGccType
strong
Enumerator
UnspecifiedLibGcc 
StaticLibGcc 
SharedLibGcc 

Definition at line 1747 of file CommonArgs.cpp.

Function Documentation

◆ AddLibgcc()

static void AddLibgcc ( const ToolChain TC,
const Driver D,
ArgStringList &  CmdArgs,
const ArgList &  Args 
)
static

◆ addSanitizerDynamicList()

static bool addSanitizerDynamicList ( const ToolChain TC,
const ArgList &  Args,
ArgStringList &  CmdArgs,
StringRef  Sanitizer 
)
static

◆ addSanitizerRuntime()

static void addSanitizerRuntime ( const ToolChain TC,
const ArgList &  Args,
ArgStringList &  CmdArgs,
StringRef  Sanitizer,
bool  IsShared,
bool  IsWhole 
)
static

◆ AddUnwindLibrary()

static void AddUnwindLibrary ( const ToolChain TC,
const Driver D,
ArgStringList &  CmdArgs,
const ArgList &  Args 
)
static

◆ collectSanitizerRuntimes()

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

◆ getAMDGPUCodeObjectArgument()

static llvm::opt::Arg * getAMDGPUCodeObjectArgument ( const Driver D,
const llvm::opt::ArgList &  Args 
)
static

◆ getAMDGPUTargetGPU()

static std::string getAMDGPUTargetGPU ( const llvm::Triple &  T,
const ArgList &  Args 
)
static

Get the (LLVM) name of the AMDGPU gpu we are targeting.

Definition at line 338 of file CommonArgs.cpp.

References clang::getProcessorFromTargetID().

◆ getLanaiTargetCPU()

static std::string getLanaiTargetCPU ( const ArgList &  Args)
static

Definition at line 358 of file CommonArgs.cpp.

◆ getLibGccType()

static LibGccType getLibGccType ( const ToolChain TC,
const Driver D,
const ArgList &  Args 
)
static

◆ getWebAssemblyTargetCPU()

static StringRef getWebAssemblyTargetCPU ( const ArgList &  Args)
static

Get the (LLVM) name of the WebAssembly cpu we are targeting.

Definition at line 366 of file CommonArgs.cpp.

◆ getWebAssemblyTargetFeatures()

static void getWebAssemblyTargetFeatures ( const Driver D,
const llvm::Triple &  Triple,
const ArgList &  Args,
std::vector< StringRef > &  Features 
)
static

Definition at line 482 of file CommonArgs.cpp.

References clang::driver::tools::handleTargetFeaturesGroup().

◆ ParseDebugDefaultVersion()

static unsigned ParseDebugDefaultVersion ( const ToolChain TC,
const ArgList &  Args 
)
static

◆ renderRemarksHotnessOptions()

static void renderRemarksHotnessOptions ( const ArgList &  Args,
ArgStringList &  CmdArgs,
const StringRef  PluginOptPrefix 
)
static

Definition at line 119 of file CommonArgs.cpp.

◆ renderRemarksOptions()

static void renderRemarksOptions ( const ArgList &  Args,
ArgStringList &  CmdArgs,
const llvm::Triple &  Triple,
const InputInfo Input,
const InputInfo Output,
const StringRef  PluginOptPrefix 
)
static

◆ renderRpassOptions()

static void renderRpassOptions ( const ArgList &  Args,
ArgStringList &  CmdArgs,
const StringRef  PluginOptPrefix 
)
static

Definition at line 73 of file CommonArgs.cpp.

◆ shouldIgnoreUnsupportedTargetFeature()

static bool shouldIgnoreUnsupportedTargetFeature ( const Arg &  TargetFeatureArg,
llvm::Triple  T,
StringRef  Processor 
)
static

Definition at line 134 of file CommonArgs.cpp.