clang 17.0.0git
|
#include "Clang.h"
#include "AMDGPU.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 "CommonArgs.h"
#include "Hexagon.h"
#include "MSP430.h"
#include "PS4CPU.h"
#include "clang/Basic/CLWarnings.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/CodeGenOptions.h"
#include "clang/Basic/HeaderInclude.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/MakeSupport.h"
#include "clang/Basic/ObjCRuntime.h"
#include "clang/Basic/Version.h"
#include "clang/Config/config.h"
#include "clang/Driver/Action.h"
#include "clang/Driver/Distro.h"
#include "clang/Driver/DriverDiagnostic.h"
#include "clang/Driver/InputInfo.h"
#include "clang/Driver/Options.h"
#include "clang/Driver/SanitizerArgs.h"
#include "clang/Driver/Types.h"
#include "clang/Driver/XRayArgs.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Compression.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/RISCVISAInfo.h"
#include "llvm/Support/YAMLParser.h"
#include "llvm/TargetParser/ARMTargetParserCommon.h"
#include "llvm/TargetParser/Host.h"
#include "llvm/TargetParser/RISCVTargetParser.h"
#include <cctype>
Go to the source code of this file.
Functions | |
static void | CheckPreprocessingOptions (const Driver &D, const ArgList &Args) |
static void | CheckCodeGenerationOptions (const Driver &D, const ArgList &Args) |
static void | EscapeSpacesAndBackslashes (const char *Arg, SmallVectorImpl< char > &Res) |
static void | forAllAssociatedToolChains (Compilation &C, const JobAction &JA, const ToolChain &RegularToolChain, llvm::function_ref< void(const ToolChain &)> Work) |
Apply Work on the current tool chain RegularToolChain and any other offloading tool chain that is associated with the current action JA. | |
static bool | getRefinementStep (StringRef In, const Driver &D, const Arg &A, size_t &Position) |
This is a helper function for validating the optional refinement step parameter in reciprocal argument strings. | |
static void | ParseMRecip (const Driver &D, const ArgList &Args, ArgStringList &OutStrings) |
The -mrecip flag requires processing of many optional parameters. | |
static void | ParseMPreferVectorWidth (const Driver &D, const ArgList &Args, ArgStringList &CmdArgs) |
The -mprefer-vector-width option accepts either a positive integer or the string "none". | |
static bool | shouldUseExceptionTablesForObjCExceptions (const ObjCRuntime &runtime, const llvm::Triple &Triple) |
static bool | addExceptionArgs (const ArgList &Args, types::ID InputType, const ToolChain &TC, bool KernelOrKext, const ObjCRuntime &objcRuntime, ArgStringList &CmdArgs) |
Adds exception related arguments to the driver command arguments. | |
static bool | ShouldEnableAutolink (const ArgList &Args, const ToolChain &TC, const JobAction &JA) |
static codegenoptions::DebugInfoKind | DebugLevelToInfoKind (const Arg &A) |
static bool | mustUseNonLeafFramePointerForTarget (const llvm::Triple &Triple) |
static bool | useFramePointerForTargetByDefault (const ArgList &Args, const llvm::Triple &Triple) |
static CodeGenOptions::FramePointerKind | getFramePointerKind (const ArgList &Args, const llvm::Triple &Triple) |
static const char * | addDebugCompDirArg (const ArgList &Args, ArgStringList &CmdArgs, const llvm::vfs::FileSystem &VFS) |
Add a CC1 option to specify the debug compilation directory. | |
static void | addDebugObjectName (const ArgList &Args, ArgStringList &CmdArgs, const char *DebugCompilationDir, const char *OutputFileName) |
static void | addDebugPrefixMapArg (const Driver &D, const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs) |
Add a CC1 and CC1AS option to specify the debug file path prefix map. | |
static void | addMacroPrefixMapArg (const Driver &D, const ArgList &Args, ArgStringList &CmdArgs) |
Add a CC1 and CC1AS option to specify the macro file path prefix map. | |
static void | addCoveragePrefixMapArg (const Driver &D, const ArgList &Args, ArgStringList &CmdArgs) |
Add a CC1 and CC1AS option to specify the coverage file path prefix map. | |
static bool | shouldEnableVectorizerAtOLevel (const ArgList &Args, bool isSlpVec) |
Vectorize at all optimization levels greater than 1 except for -Oz. | |
static void | addDashXForInput (const ArgList &Args, const InputInfo &Input, ArgStringList &CmdArgs) |
Add -x lang to CmdArgs for Input . | |
static void | addPGOAndCoverageFlags (const ToolChain &TC, Compilation &C, const Driver &D, const InputInfo &Output, const ArgList &Args, SanitizerArgs &SanArgs, ArgStringList &CmdArgs) |
static bool | ContainsCompileAction (const Action *A) |
Check whether the given input tree contains any compilation actions. | |
static bool | UseRelaxAll (Compilation &C, const ArgList &Args) |
Check if -relax-all should be passed to the internal assembler. | |
static void | RenderDebugEnablingArgs (const ArgList &Args, ArgStringList &CmdArgs, codegenoptions::DebugInfoKind DebugInfoKind, unsigned DwarfVersion, llvm::DebuggerKind DebuggerTuning) |
static bool | checkDebugInfoOption (const Arg *A, const ArgList &Args, const Driver &D, const ToolChain &TC) |
static void | RenderDebugInfoCompressionArgs (const ArgList &Args, ArgStringList &CmdArgs, const Driver &D, const ToolChain &TC) |
static void | handleAMDGPUCodeObjectVersionOptions (const Driver &D, const ArgList &Args, ArgStringList &CmdArgs, bool IsCC1As=false) |
static bool | isSignedCharDefault (const llvm::Triple &Triple) |
static bool | hasMultipleInvocations (const llvm::Triple &Triple, const ArgList &Args) |
static bool | checkRemarksOptions (const Driver &D, const ArgList &Args, const llvm::Triple &Triple) |
static void | renderRemarksOptions (const ArgList &Args, ArgStringList &CmdArgs, const llvm::Triple &Triple, const InputInfo &Input, const InputInfo &Output, const JobAction &JA) |
void | AddAAPCSVolatileBitfieldArgs (const ArgList &Args, ArgStringList &CmdArgs) |
static void | CollectARMPACBTIOptions (const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs, bool isAArch64) |
static void | SetRISCVSmallDataLimit (const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs) |
static bool | CheckARMImplicitITArg (StringRef Value) |
static void | AddARMImplicitITArgs (const ArgList &Args, ArgStringList &CmdArgs, StringRef Value) |
static void | CollectArgsForIntegratedAssembler (Compilation &C, const ArgList &Args, ArgStringList &CmdArgs, const Driver &D) |
static void | RenderFloatingPointOptions (const ToolChain &TC, const Driver &D, bool OFastEnabled, const ArgList &Args, ArgStringList &CmdArgs, const JobAction &JA) |
static void | RenderAnalyzerOptions (const ArgList &Args, ArgStringList &CmdArgs, const llvm::Triple &Triple, const InputInfo &Input) |
static bool | isValidSymbolName (StringRef S) |
static void | RenderSSPOptions (const Driver &D, const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs, bool KernelOrKext) |
static void | RenderSCPOptions (const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs) |
static void | RenderTrivialAutoVarInitOptions (const Driver &D, const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs) |
static void | RenderOpenCLOptions (const ArgList &Args, ArgStringList &CmdArgs, types::ID InputType) |
static void | RenderHLSLOptions (const ArgList &Args, ArgStringList &CmdArgs, types::ID InputType) |
static void | RenderARCMigrateToolOptions (const Driver &D, const ArgList &Args, ArgStringList &CmdArgs) |
static void | RenderBuiltinOptions (const ToolChain &TC, const llvm::Triple &T, const ArgList &Args, ArgStringList &CmdArgs) |
static bool | RenderModulesOptions (Compilation &C, const Driver &D, const ArgList &Args, const InputInfo &Input, const InputInfo &Output, const Arg *Std, ArgStringList &CmdArgs) |
static void | RenderCharacterOptions (const ArgList &Args, const llvm::Triple &T, ArgStringList &CmdArgs) |
static void | RenderObjCOptions (const ToolChain &TC, const Driver &D, const llvm::Triple &T, const ArgList &Args, ObjCRuntime &Runtime, bool InferCovariantReturns, const InputInfo &Input, ArgStringList &CmdArgs) |
static void | RenderDiagnosticsOptions (const Driver &D, const ArgList &Args, ArgStringList &CmdArgs) |
static void | renderDwarfFormat (const Driver &D, const llvm::Triple &T, const ArgList &Args, ArgStringList &CmdArgs, unsigned DwarfVersion) |
static void | renderDebugOptions (const ToolChain &TC, const Driver &D, const llvm::Triple &T, const ArgList &Args, bool EmitCodeView, bool IRInput, ArgStringList &CmdArgs, codegenoptions::DebugInfoKind &DebugInfoKind, DwarfFissionKind &DwarfFission) |
static void | ProcessVSRuntimeLibrary (const ArgList &Args, ArgStringList &CmdArgs) |
static bool | maybeConsumeDash (const std::string &EH, size_t &I) |
static EHFlags | parseClangCLEHFlags (const Driver &D, const ArgList &Args) |
/EH controls whether to run destructor cleanups when exceptions are thrown. | |
void AddAAPCSVolatileBitfieldArgs | ( | const ArgList & | Args, |
ArgStringList & | CmdArgs | ||
) |
|
static |
Definition at line 2466 of file Clang.cpp.
Referenced by CollectArgsForIntegratedAssembler().
|
static |
Add a CC1 and CC1AS option to specify the coverage file path prefix map.
Definition at line 623 of file Clang.cpp.
References clang::driver::Driver::Diag().
|
static |
Add -x lang to CmdArgs
for Input
.
Definition at line 671 of file Clang.cpp.
References clang::driver::InputInfo::getType(), and clang::driver::types::getTypeName().
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::Flang::ConstructJob().
|
static |
Add a CC1 option to specify the debug compilation directory.
Definition at line 545 of file Clang.cpp.
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::ClangAs::ConstructJob().
|
static |
Definition at line 563 of file Clang.cpp.
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::ClangAs::ConstructJob().
|
static |
Add a CC1 and CC1AS option to specify the debug file path prefix map.
Definition at line 587 of file Clang.cpp.
References clang::driver::Driver::Diag(), and clang::driver::ToolChain::GetGlobalDebugPathRemapping().
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::ClangAs::ConstructJob().
|
static |
Adds exception related arguments to the driver command arguments.
There's a main flag, -fexceptions and also language specific flags to enable/disable C++ and Objective-C exceptions. This makes it possible to for example disable C++ exceptions but enable Objective-C exceptions.
Definition at line 320 of file Clang.cpp.
References clang::driver::ToolChain::getTriple(), clang::driver::types::isCXX(), clang::driver::types::isObjC(), and shouldUseExceptionTablesForObjCExceptions().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Add a CC1 and CC1AS option to specify the macro file path prefix map.
Definition at line 608 of file Clang.cpp.
References clang::driver::Driver::Diag().
|
static |
Definition at line 701 of file Clang.cpp.
References clang::C, clang::driver::Driver::Diag(), clang::driver::InputInfo::getBaseInput(), clang::driver::ToolChain::getCompilerRTBasename(), clang::driver::tools::getLastProfileSampleUseArg(), clang::driver::tools::getLastProfileUseArg(), clang::driver::ToolChain::getTriple(), clang::driver::Driver::getVFS(), clang::driver::InputInfo::isFilename(), clang::driver::ToolChain::needsGCovInstrumentation(), clang::driver::SanitizerArgs::needsTsanRt(), and v.
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 2461 of file Clang.cpp.
Referenced by CollectArgsForIntegratedAssembler().
|
static |
Definition at line 80 of file Clang.cpp.
References clang::driver::Driver::Diag().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 1022 of file Clang.cpp.
References clang::driver::Driver::Diag(), clang::driver::ToolChain::getTripleString(), and clang::driver::ToolChain::supportsDebugInfoOption().
Referenced by RenderDebugInfoCompressionArgs(), and renderDebugOptions().
|
static |
Definition at line 67 of file Clang.cpp.
References clang::driver::Driver::CCCIsCPP(), clang::driver::Driver::Diag(), and clang::driver::Driver::IsCLMode().
|
static |
Definition at line 1433 of file Clang.cpp.
References clang::driver::Driver::Diag(), and hasMultipleInvocations().
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::darwin::Linker::ConstructJob().
|
static |
Definition at line 2472 of file Clang.cpp.
References AddARMImplicitITArgs(), clang::C, CheckARMImplicitITArg(), clang::codegenoptions::DebugInfoConstructor, clang::driver::Driver::Diag(), clang::driver::tools::DwarfVersionNum(), clang::driver::Driver::PrintVersion(), RenderDebugEnablingArgs(), and UseRelaxAll().
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::ClangAs::ConstructJob().
|
static |
Definition at line 1570 of file Clang.cpp.
References clang::driver::Driver::Diag(), clang::driver::ToolChain::getDriver(), clang::driver::ToolChain::getEffectiveTriple(), and clang::Scope::Scope().
Check whether the given input tree contains any compilation actions.
Definition at line 946 of file Clang.cpp.
References ContainsCompileAction(), and clang::driver::Action::inputs().
Referenced by ContainsCompileAction(), and UseRelaxAll().
|
static |
Definition at line 408 of file Clang.cpp.
References clang::codegenoptions::DebugDirectivesOnly, clang::codegenoptions::DebugInfoConstructor, clang::codegenoptions::DebugLineTablesOnly, and clang::codegenoptions::NoDebugInfo.
Referenced by renderDebugOptions().
|
static |
Definition at line 92 of file Clang.cpp.
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::ClangAs::ConstructJob().
|
static |
Apply Work on the current tool chain RegularToolChain and any other offloading tool chain that is associated with the current action JA.
Definition at line 110 of file Clang.cpp.
References clang::C, clang::driver::Action::isDeviceOffloading(), clang::driver::Action::isHostOffloading(), clang::driver::Action::OFK_Cuda, clang::driver::Action::OFK_HIP, clang::driver::Action::OFK_Host, and clang::driver::Action::OFK_OpenMP.
|
static |
Definition at line 515 of file Clang.cpp.
References mustUseNonLeafFramePointerForTarget(), and useFramePointerForTargetByDefault().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
This is a helper function for validating the optional refinement step parameter in reciprocal argument strings.
Return false if there is an error parsing the refinement step. Otherwise, return true and set the Position of the refinement step in the input string.
Definition at line 143 of file Clang.cpp.
References clang::driver::Driver::Diag().
Referenced by ParseMRecip().
|
static |
Definition at line 1064 of file Clang.cpp.
References clang::driver::tools::getAMDGPUCodeObjectVersion(), and clang::driver::tools::haveAMDGPUCodeObjectVersionArgument().
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::ClangAs::ConstructJob().
|
static |
Definition at line 1422 of file Clang.cpp.
Referenced by checkRemarksOptions().
|
static |
Definition at line 1389 of file Clang.cpp.
Referenced by RenderCharacterOptions().
|
static |
Definition at line 7578 of file Clang.cpp.
Referenced by parseClangCLEHFlags().
|
static |
Definition at line 422 of file Clang.cpp.
Referenced by getFramePointerKind().
|
static |
/EH controls whether to run destructor cleanups when exceptions are thrown.
There are three modifiers:
Definition at line 7599 of file Clang.cpp.
References clang::driver::Driver::Diag(), and maybeConsumeDash().
|
static |
The -mprefer-vector-width option accepts either a positive integer or the string "none".
Definition at line 280 of file Clang.cpp.
References clang::driver::Driver::Diag().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
The -mrecip flag requires processing of many optional parameters.
Definition at line 171 of file Clang.cpp.
References clang::driver::Driver::Diag(), and getRefinementStep().
Referenced by RenderFloatingPointOptions().
|
static |
Definition at line 4445 of file Clang.cpp.
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 3181 of file Clang.cpp.
References clang::driver::InputInfo::getType(), and clang::driver::types::isCXX().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 3543 of file Clang.cpp.
References clang::driver::Driver::Diag().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 3615 of file Clang.cpp.
References clang::driver::ToolChain::getArch().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 3854 of file Clang.cpp.
References isSignedCharDefault().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 975 of file Clang.cpp.
References clang::codegenoptions::DebugDirectivesOnly, clang::codegenoptions::DebugInfoConstructor, clang::codegenoptions::DebugLineTablesOnly, clang::codegenoptions::FullDebugInfo, clang::codegenoptions::LimitedDebugInfo, and clang::codegenoptions::UnusedTypeInfo.
Referenced by CollectArgsForIntegratedAssembler(), clang::driver::tools::ClangAs::ConstructJob(), and renderDebugOptions().
|
static |
Definition at line 1032 of file Clang.cpp.
References checkDebugInfoOption(), and clang::driver::Driver::Diag().
Referenced by clang::driver::tools::ClangAs::ConstructJob(), and renderDebugOptions().
|
static |
Definition at line 4127 of file Clang.cpp.
References clang::driver::ToolChain::adjustDebugInfoKind(), checkDebugInfoOption(), clang::codegenoptions::DebugDirectivesOnly, clang::codegenoptions::DebugInfoConstructor, DebugLevelToInfoKind(), clang::codegenoptions::DebugLineTablesOnly, clang::driver::Driver::Diag(), clang::codegenoptions::DIF_CodeView, clang::codegenoptions::DIF_DWARF, clang::codegenoptions::FullDebugInfo, clang::driver::tools::getDebugFissionKind(), clang::driver::ToolChain::getDefaultDebugFormat(), clang::driver::ToolChain::getDefaultDebuggerTuning(), clang::driver::ToolChain::GetDefaultStandaloneDebug(), clang::driver::tools::getDwarfNArg(), clang::driver::tools::getDwarfVersion(), clang::driver::ToolChain::getMaxDwarfVersion(), clang::driver::ToolChain::getTripleString(), clang::codegenoptions::LimitedDebugInfo, clang::codegenoptions::NoDebugInfo, clang::driver::tools::None, RenderDebugEnablingArgs(), RenderDebugInfoCompressionArgs(), renderDwarfFormat(), clang::codegenoptions::UnusedTypeInfo, clang::driver::ToolChain::useIntegratedAs(), v, and clang::driver::willEmitRemarks().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 3982 of file Clang.cpp.
References clang::driver::Driver::Diag(), clang::DiagnosticsEngine::getDiagnosticOptions(), and clang::driver::Driver::getDiags().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 4104 of file Clang.cpp.
References clang::driver::Driver::Diag().
Referenced by clang::driver::tools::ClangAs::ConstructJob(), and renderDebugOptions().
|
static |
Definition at line 2708 of file Clang.cpp.
References clang::driver::Driver::Diag(), clang::driver::ToolChain::getArch(), clang::driver::ToolChain::getDefaultDenormalModeForType(), clang::driver::Action::isDeviceOffloading(), clang::driver::ToolChain::IsMathErrnoDefault(), clang::driver::Action::isOffloading(), clang::driver::Action::OFK_Cuda, clang::driver::Action::OFK_HIP, and ParseMRecip().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 3520 of file Clang.cpp.
References clang::driver::types::isHLSL().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 3659 of file Clang.cpp.
References clang::C, clang::driver::Driver::Diag(), clang::driver::Driver::getDefaultModuleCachePath(), clang::driver::InputInfo::getFilename(), clang::driver::InputInfo::getType(), clang::driver::types::isCXX(), clang::driver::Driver::ResourceDir, and Std.
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 3889 of file Clang.cpp.
References clang::ObjCRuntime::allowsWeak(), clang::driver::ToolChain::CheckObjCARC(), clang::driver::ToolChain::CST_Libcxx, clang::driver::Driver::Diag(), clang::ObjCRuntime::FragileMacOSX, clang::driver::ToolChain::getArch(), clang::driver::ToolChain::GetCXXStdlibType(), clang::ObjCRuntime::getKind(), clang::driver::InputInfo::getType(), clang::driver::types::isCXX(), clang::ObjCRuntime::isLegacyDispatchDefaultForArch(), clang::ObjCRuntime::isNeXTFamily(), clang::ObjCRuntime::isNonFragile(), clang::driver::types::isObjC(), clang::driver::tools::isObjCAutoRefCount(), and clang::driver::ToolChain::UseObjCMixedDispatch().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 3481 of file Clang.cpp.
References clang::driver::types::isOpenCL(), and clang::driver::types::isSrcFile().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 1449 of file Clang.cpp.
References clang::driver::InputInfo::getBaseInput(), clang::driver::InputInfo::getFilename(), clang::driver::Action::getOffloadingArch(), clang::driver::Action::getOffloadingDeviceKind(), clang::driver::Action::GetOffloadingFileNamePrefix(), clang::driver::Action::isDeviceOffloading(), clang::driver::InputInfo::isFilename(), clang::driver::Action::OFK_Host, and clang::driver::Action::OFK_None.
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::darwin::Linker::ConstructJob().
|
static |
Definition at line 3409 of file Clang.cpp.
References clang::driver::ToolChain::getEffectiveTriple().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 3260 of file Clang.cpp.
References clang::driver::Driver::Diag(), clang::driver::ToolChain::GetDefaultStackProtectorLevel(), clang::driver::ToolChain::getEffectiveTriple(), clang::driver::tools::arm::isHardTPSupported(), isValidSymbolName(), Offset, clang::LangOptions::SSPOff, clang::LangOptions::SSPOn, clang::LangOptions::SSPReq, and clang::LangOptions::SSPStrong.
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 3424 of file Clang.cpp.
References clang::driver::Driver::Diag(), clang::driver::ToolChain::GetDefaultTrivialAutoVarInit(), clang::LangOptions::Pattern, clang::LangOptions::Uninitialized, and clang::LangOptions::Zero.
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 2058 of file Clang.cpp.
References clang::driver::Driver::Diag(), clang::driver::ToolChain::getDriver(), and clang::driver::ToolChain::getTriple().
|
static |
Definition at line 390 of file Clang.cpp.
References clang::Default, clang::driver::ToolChain::getTriple(), clang::driver::Action::isDeviceOffloading(), clang::driver::Action::OFK_Cuda, clang::driver::Action::OFK_HIP, and clang::driver::ToolChain::useIntegratedAs().
Referenced by clang::driver::tools::Clang::ConstructJob().
Vectorize at all optimization levels greater than 1 except for -Oz.
For -Oz the loop vectorizer is disabled, while the slp vectorizer is enabled.
Definition at line 640 of file Clang.cpp.
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 300 of file Clang.cpp.
References clang::ObjCRuntime::isNonFragile().
Referenced by addExceptionArgs().
|
static |
Definition at line 434 of file Clang.cpp.
References clang::driver::tools::areOptimizationsEnabled().
Referenced by getFramePointerKind().
|
static |
Check if -relax-all should be passed to the internal assembler.
This is done by default when compiling non-assembler source with -O0.
Definition at line 955 of file Clang.cpp.
References clang::C, and ContainsCompileAction().
Referenced by CollectArgsForIntegratedAssembler().