clang  14.0.0git
Namespaces | Classes | Typedefs | Enumerations | Functions
clang::driver Namespace Reference

Namespaces

 options
 
 phases
 
 toolchains
 
 tools
 
 types
 

Classes

class  Action
 Action - Represent an abstract compilation step to perform. More...
 
class  AnalyzeJobAction
 
class  AssembleJobAction
 
class  BackendJobAction
 
class  BindArchAction
 
class  CC1Command
 Use the CC1 tool callback when available, to avoid creating a new process. More...
 
class  Command
 Command - An executable path/name and argument vector to execute. More...
 
class  Compilation
 Compilation - A set of tasks to perform for a single driver invocation. More...
 
class  CompileJobAction
 
struct  CrashReportInfo
 
class  CudaInstallationDetector
 A class to find a viable CUDA installation. More...
 
struct  DetectedMultilibs
 
class  Distro
 Distro - Helper class for detecting and classifying Linux distributions. More...
 
class  Driver
 Driver - Encapsulate logic for constructing compilation processes from a set of gcc-driver-like command line arguments. More...
 
class  DsymutilJobAction
 
class  ForceSuccessCommand
 Like Command, but always pretends that the wrapped command succeeded. More...
 
class  HeaderModulePrecompileJobAction
 
class  IfsMergeJobAction
 
class  InputAction
 
class  InputInfo
 InputInfo - Wrapper for information about an input source. More...
 
class  JobAction
 
class  JobList
 JobList - A sequence of jobs to perform. More...
 
class  LinkJobAction
 
class  LipoJobAction
 
class  MigrateJobAction
 
class  Multilib
 This corresponds to a single GCC Multilib, or a segment of one controlled by a command line flag. More...
 
class  MultilibSet
 
class  OffloadAction
 An offload action combines host or/and device actions according to the programming model implementation needs and propagates the offloading kind to its dependences. More...
 
class  OffloadBundlingJobAction
 
class  OffloadUnbundlingJobAction
 
class  OffloadWrapperJobAction
 
struct  ParsedClangName
 Helper structure used to pass information extracted from clang executable name such as i686-linux-android-g++. More...
 
class  PrecompileJobAction
 
class  PreprocessJobAction
 
class  RegisterEffectiveTriple
 Set a ToolChain's effective triple. More...
 
struct  ResponseFileSupport
 
class  RocmInstallationDetector
 A class to find a viable ROCM installation TODO: Generalize to handle libclc. More...
 
class  SanitizerArgs
 
class  StaticLibJobAction
 
class  Tool
 Tool - Information on a specific compilation tool. More...
 
class  ToolChain
 ToolChain - Access to tools for a single platform. More...
 
class  VerifyDebugInfoJobAction
 
class  VerifyJobAction
 
class  VerifyPCHJobAction
 
class  XRayArgs
 

Typedefs

typedef SmallVector< InputInfo, 4 > InputInfoList
 
typedef llvm::DenseMap< const JobAction *, const char * > ArgStringMap
 ArgStringMap - Type used to map a JobAction to its result file. More...
 
typedef SmallVector< Action *, 3 > ActionList
 ActionList - Type used for lists of actions. More...
 

Enumerations

enum  LTOKind { LTOK_None, LTOK_Full, LTOK_Thin, LTOK_Unknown }
 Describes the kind of LTO mode selected via -f(no-)?lto(=.*)? options. More...
 

Functions

bool isOptimizationLevelFast (const llvm::opt::ArgList &Args)
 
bool willEmitRemarks (const llvm::opt::ArgList &Args)
 
llvm::StringRef getDriverMode (StringRef ProgName, ArrayRef< const char * > Args)
 Returns the driver mode option's value, i.e. More...
 
bool IsClangCL (StringRef DriverMode)
 Checks whether the value produced by getDriverMode is for CL mode. More...
 
raw_ostream & operator<< (raw_ostream &OS, const Multilib &M)
 
raw_ostream & operator<< (raw_ostream &OS, const MultilibSet &MS)
 
const llvm::opt::OptTable & getDriverOptTable ()
 
bool findMIPSMultilibs (const Driver &D, const llvm::Triple &TargetTriple, StringRef Path, const llvm::opt::ArgList &Args, DetectedMultilibs &Result)
 

Typedef Documentation

◆ ActionList

ActionList - Type used for lists of actions.

Definition at line 26 of file Util.h.

◆ ArgStringMap

typedef llvm::DenseMap<const JobAction*, const char*> clang::driver::ArgStringMap

ArgStringMap - Type used to map a JobAction to its result file.

Definition at line 20 of file Util.h.

◆ InputInfoList

Definition at line 27 of file Tool.h.

Enumeration Type Documentation

◆ LTOKind

Describes the kind of LTO mode selected via -f(no-)?lto(=.*)? options.

Enumerator
LTOK_None 
LTOK_Full 
LTOK_Thin 
LTOK_Unknown 

Definition at line 50 of file Driver.h.

Function Documentation

◆ findMIPSMultilibs()

bool clang::driver::findMIPSMultilibs ( const Driver D,
const llvm::Triple &  TargetTriple,
StringRef  Path,
const llvm::opt::ArgList &  Args,
DetectedMultilibs Result 
)

◆ getDriverMode()

llvm::StringRef clang::driver::getDriverMode ( StringRef  ProgName,
ArrayRef< const char * >  Args 
)

Returns the driver mode option's value, i.e.

X in --driver-mode=X. If Args doesn't mention one explicitly, tries to deduce from ProgName. Returns empty on failure. Common values are "gcc", "g++", "cpp", "cl" and "flang". Returned value need not be one of these.

Definition at line 5589 of file Driver.cpp.

References clang::driver::ParsedClangName::DriverMode, getDriverOptTable(), clang::driver::ToolChain::getTargetAndModeFromProgramName(), and string().

Referenced by clang::driver::Driver::BuildCompilation().

◆ getDriverOptTable()

const llvm::opt::OptTable & clang::driver::getDriverOptTable ( )

◆ IsClangCL()

bool clang::driver::IsClangCL ( StringRef  DriverMode)

Checks whether the value produced by getDriverMode is for CL mode.

Definition at line 5604 of file Driver.cpp.

◆ isOptimizationLevelFast()

bool clang::driver::isOptimizationLevelFast ( const llvm::opt::ArgList &  Args)
Returns
True if the last defined optimization level is -Ofast. And False otherwise.

Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::ToolChain::isFastMathRuntimeAvailable().

◆ operator<<() [1/2]

raw_ostream & clang::driver::operator<< ( raw_ostream &  OS,
const Multilib M 
)

Definition at line 137 of file Multilib.cpp.

References clang::driver::Multilib::print().

◆ operator<<() [2/2]

raw_ostream & clang::driver::operator<< ( raw_ostream &  OS,
const MultilibSet MS 
)

Definition at line 305 of file Multilib.cpp.

References clang::driver::MultilibSet::print().

◆ willEmitRemarks()

bool clang::driver::willEmitRemarks ( const llvm::opt::ArgList &  Args)
Returns
True if the argument combination will end up generating remarks.

Referenced by clang::driver::Driver::BuildUniversalActions(), clang::driver::tools::darwin::Linker::ConstructJob(), mustEmitDebugInfo(), and renderDebugOptions().