clang
9.0.0
|
#include "Clang.h"
#include "Arch/AArch64.h"
#include "Arch/ARM.h"
#include "Arch/Mips.h"
#include "Arch/PPC.h"
#include "Arch/RISCV.h"
#include "Arch/Sparc.h"
#include "Arch/SystemZ.h"
#include "Arch/X86.h"
#include "AMDGPU.h"
#include "CommonArgs.h"
#include "Hexagon.h"
#include "MSP430.h"
#include "InputInfo.h"
#include "PS4CPU.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/ObjCRuntime.h"
#include "clang/Basic/Version.h"
#include "clang/Driver/Distro.h"
#include "clang/Driver/DriverDiagnostic.h"
#include "clang/Driver/Options.h"
#include "clang/Driver/SanitizerArgs.h"
#include "clang/Driver/XRayArgs.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/Compression.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/TargetParser.h"
#include "llvm/Support/YAMLParser.h"
Go to the source code of this file.
Enumerations | |
enum | DwarfFissionKind { DwarfFissionKind::None, DwarfFissionKind::Split, DwarfFissionKind::Single } |
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 | QuoteTarget (StringRef Target, 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. More... | |
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. More... | |
static void | ParseMRecip (const Driver &D, const ArgList &Args, ArgStringList &OutStrings) |
The -mrecip flag requires processing of many optional parameters. More... | |
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". More... | |
static void | getWebAssemblyTargetFeatures (const ArgList &Args, std::vector< StringRef > &Features) |
static void | getTargetFeatures (const ToolChain &TC, const llvm::Triple &Triple, const ArgList &Args, ArgStringList &CmdArgs, bool ForAS) |
static bool | shouldUseExceptionTablesForObjCExceptions (const ObjCRuntime &runtime, const llvm::Triple &Triple) |
static void | 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. More... | |
static bool | ShouldDisableAutolink (const ArgList &Args, const ToolChain &TC) |
static bool | ShouldDisableDwarfDirectory (const ArgList &Args, const ToolChain &TC) |
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 bool | shouldUseFramePointer (const ArgList &Args, const llvm::Triple &Triple) |
static bool | shouldUseLeafFramePointer (const ArgList &Args, const llvm::Triple &Triple) |
static void | addDebugCompDirArg (const ArgList &Args, ArgStringList &CmdArgs) |
Add a CC1 option to specify the debug compilation directory. More... | |
static void | addDebugPrefixMapArg (const Driver &D, const ArgList &Args, ArgStringList &CmdArgs) |
Add a CC1 and CC1AS option to specify the debug file path prefix map. More... | |
static bool | shouldEnableVectorizerAtOLevel (const ArgList &Args, bool isSlpVec) |
Vectorize at all optimization levels greater than 1 except for -Oz. More... | |
static void | addDashXForInput (const ArgList &Args, const InputInfo &Input, ArgStringList &CmdArgs) |
Add -x lang to CmdArgs for Input . More... | |
static void | appendUserToPath (SmallVectorImpl< char > &Result) |
static void | addPGOAndCoverageFlags (const ToolChain &TC, Compilation &C, const Driver &D, const InputInfo &Output, const ArgList &Args, ArgStringList &CmdArgs) |
static bool | ContainsCompileAction (const Action *A) |
Check whether the given input tree contains any compilation actions. More... | |
static bool | UseRelaxAll (Compilation &C, const ArgList &Args) |
Check if -relax-all should be passed to the internal assembler. More... | |
static unsigned | DwarfVersionNum (StringRef ArgValue) |
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 const char * | RelocationModelName (llvm::Reloc::Model Model) |
static bool | isSignedCharDefault (const llvm::Triple &Triple) |
static bool | isNoCommonDefault (const llvm::Triple &Triple) |
static std::tuple< StringRef, StringRef, bool > | ParseAArch64BranchProtection (const Driver &D, const ArgList &Args, const Arg *A) |
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) |
static void | RenderAnalyzerOptions (const ArgList &Args, ArgStringList &CmdArgs, const llvm::Triple &Triple, const InputInfo &Input) |
static void | RenderSSPOptions (const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs, bool KernelOrKext) |
static void | RenderTrivialAutoVarInitOptions (const Driver &D, const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs) |
static void | RenderOpenCLOptions (const ArgList &Args, ArgStringList &CmdArgs) |
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 void | RenderModulesOptions (Compilation &C, const Driver &D, const ArgList &Args, const InputInfo &Input, const InputInfo &Output, ArgStringList &CmdArgs, bool &HaveModules) |
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 DwarfFissionKind | getDebugFissionKind (const Driver &D, const ArgList &Args, Arg *&Arg) |
static void | RenderDebugOptions (const ToolChain &TC, const Driver &D, const llvm::Triple &T, const ArgList &Args, bool EmitCodeView, bool IsWindowsMSVC, ArgStringList &CmdArgs, codegenoptions::DebugInfoKind &DebugInfoKind, DwarfFissionKind &DwarfFission) |
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. More... | |
|
strong |
|
static |
Add -x lang to CmdArgs
for Input
.
Definition at line 665 of file Clang.cpp.
References clang::driver::InputInfo::getType(), and clang::driver::types::getTypeName().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Add a CC1 option to specify the debug compilation directory.
Definition at line 606 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 620 of file Clang.cpp.
References clang::driver::Driver::Diag().
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 master 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 414 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 |
Definition at line 727 of file Clang.cpp.
References clang::driver::Driver::Diag(), clang::driver::Compilation::getArgs(), clang::driver::InputInfo::getBaseInput(), clang::driver::ToolChain::getCompilerRT(), clang::driver::tools::getLastProfileUseArg(), clang::driver::ToolChain::getTriple(), clang::driver::InputInfo::isFilename(), and v.
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 695 of file Clang.cpp.
References clang::isAlphanumeric(), and P.
Referenced by clang::driver::Driver::getDefaultModuleCachePath().
|
static |
Definition at line 65 of file Clang.cpp.
References clang::driver::Driver::Diag().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 993 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 53 of file Clang.cpp.
References clang::driver::Driver::CCCIsCPP(), clang::driver::Driver::Diag(), and clang::driver::Driver::IsCLMode().
Referenced by RelocationModelName().
|
static |
Definition at line 2057 of file Clang.cpp.
References clang::driver::Driver::Diag(), DwarfVersionNum(), clang::driver::ToolChain::getArch(), clang::driver::Compilation::getDefaultToolChain(), clang::driver::ToolChain::getTriple(), clang::driver::ToolChain::isNoExecStackDefault(), clang::codegenoptions::LimitedDebugInfo, RenderDebugEnablingArgs(), UseRelaxAll(), and clang::driver::ToolChain::useRelaxRelocations().
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::ClangAs::ConstructJob().
Check whether the given input tree contains any compilation actions.
Definition at line 910 of file Clang.cpp.
References clang::driver::Action::inputs().
Referenced by UseRelaxAll().
|
static |
Definition at line 490 of file Clang.cpp.
References clang::codegenoptions::DebugDirectivesOnly, clang::codegenoptions::DebugLineTablesOnly, clang::codegenoptions::LimitedDebugInfo, and clang::codegenoptions::NoDebugInfo.
Referenced by RenderDebugOptions().
|
static |
Definition at line 946 of file Clang.cpp.
Referenced by CollectArgsForIntegratedAssembler(), clang::driver::tools::ClangAs::ConstructJob(), and RenderDebugOptions().
|
static |
Definition at line 77 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 123 of file Clang.cpp.
References clang::driver::Compilation::getOffloadToolChains(), clang::driver::Compilation::getSingleOffloadToolChain(), 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.
Referenced by RelocationModelName().
|
static |
Definition at line 3145 of file Clang.cpp.
References clang::driver::Driver::Diag(), None, Single, and Split.
Referenced by clang::driver::tools::ClangAs::ConstructJob(), and RenderDebugOptions().
|
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 156 of file Clang.cpp.
Referenced by ParseMRecip().
|
static |
Definition at line 309 of file Clang.cpp.
References clang::driver::tools::aarch64::getAArch64TargetFeatures(), clang::driver::tools::amdgpu::getAMDGPUTargetFeatures(), clang::driver::tools::arm::getARMTargetFeatures(), clang::driver::ToolChain::getDriver(), clang::driver::tools::hexagon::getHexagonTargetFeatures(), clang::driver::tools::mips::getMIPSTargetFeatures(), clang::driver::tools::msp430::getMSP430TargetFeatures(), clang::driver::tools::ppc::getPPCTargetFeatures(), clang::driver::tools::riscv::getRISCVTargetFeatures(), clang::driver::tools::sparc::getSparcTargetFeatures(), clang::driver::tools::systemz::getSystemZTargetFeatures(), getWebAssemblyTargetFeatures(), and clang::driver::tools::x86::getX86TargetFeatures().
Referenced by clang::driver::tools::ClangAs::ConstructJob(), and isNoCommonDefault().
|
static |
Definition at line 304 of file Clang.cpp.
References clang::driver::tools::handleTargetFeaturesGroup().
Referenced by getTargetFeatures().
|
static |
Definition at line 1354 of file Clang.cpp.
References clang::driver::ToolChain::getArch(), clang::driver::tools::arm::getARMFloatABI(), clang::driver::tools::getCPUName(), getTargetFeatures(), clang::driver::tools::arm::Hard, clang::driver::tools::arm::Soft, and clang::driver::tools::arm::SoftFP.
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 1323 of file Clang.cpp.
Referenced by RenderCharacterOptions().
Definition at line 5661 of file Clang.cpp.
Referenced by parseClangCLEHFlags().
|
static |
Definition at line 504 of file Clang.cpp.
Referenced by shouldUseFramePointer().
|
static |
Definition at line 1509 of file Clang.cpp.
References clang::driver::Driver::ClangExecutable, clang::driver::Driver::Diag(), Filename, clang::driver::Compilation::getArgs(), clang::driver::InputInfo::getFilename(), clang::driver::tools::mips::getMipsCPUAndABI(), clang::driver::tools::mips::getMipsFloatABI(), clang::driver::tools::ppc::getPPCFloatABI(), clang::driver::toolchains::HexagonToolChain::getSmallDataThreshold(), clang::driver::tools::sparc::getSparcFloatABI(), clang::driver::InputInfo::getType(), clang::driver::types::getTypeName(), clang::driver::tools::sparc::Hard, clang::driver::tools::ppc::Hard, clang::driver::tools::mips::Hard, clang::driver::tools::mips::hasCompactBranches(), clang::driver::tools::ParsePICArgs(), clang::driver::tools::sparc::Soft, clang::driver::tools::ppc::Soft, clang::driver::tools::mips::Soft, clang::driver::Driver::SysRoot, clang::Target, v, and V.
|
static |
/EH controls whether to run destructor cleanups when exceptions are thrown.
There are three modifiers:
Definition at line 5682 of file Clang.cpp.
References clang::codegenoptions::DebugLineTablesOnly, clang::driver::Driver::Diag(), clang::driver::ToolChain::getArch(), clang::driver::ToolChain::getDriver(), clang::driver::Tool::getToolChain(), clang::driver::types::isCXX(), clang::codegenoptions::LimitedDebugInfo, maybeConsumeDash(), and clang::LangOptions::SSPStrong.
|
static |
The -mprefer-vector-width option accepts either a positive integer or the string "none".
Definition at line 285 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 184 of file Clang.cpp.
References clang::driver::Driver::Diag(), getRefinementStep(), and i.
Referenced by RenderFloatingPointOptions().
|
static |
|
static |
Definition at line 1036 of file Clang.cpp.
References clang::driver::ToolChain::AddClangCXXStdlibIncludeArgs(), clang::driver::ToolChain::AddClangSystemIncludeArgs(), clang::driver::tools::addDirectoryList(), clang::driver::Compilation::addFailureResultFile(), clang::driver::Action::AssembleJobClass, CheckPreprocessingOptions(), clang::driver::Driver::Diag(), forAllAssociatedToolChains(), clang::driver::Compilation::getArgs(), clang::driver::Driver::GetClPchPath(), clang::driver::InputInfo::getFilename(), clang::driver::Action::getKind(), clang::driver::Compilation::getSysRoot(), clang::driver::InputInfo::getType(), clang::driver::types::isCXX(), clang::driver::Action::isDeviceOffloading(), clang::driver::Action::isOffloading(), clang::driver::Action::OFK_Cuda, clang::driver::Action::OFK_OpenMP, P, clang::driver::Action::PrecompileJobClass, QuoteTarget(), and clang::driver::Driver::ResourceDir.
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::tools::ClangAs::ConstructJob().
|
static |
Definition at line 2437 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 2625 of file Clang.cpp.
References clang::driver::Driver::Diag().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 2697 of file Clang.cpp.
References clang::driver::ToolChain::getArch().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 2903 of file Clang.cpp.
References isSignedCharDefault().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 955 of file Clang.cpp.
References clang::codegenoptions::DebugDirectivesOnly, clang::codegenoptions::DebugLineTablesOnly, clang::codegenoptions::FullDebugInfo, and clang::codegenoptions::LimitedDebugInfo.
Referenced by CollectArgsForIntegratedAssembler(), clang::driver::tools::ClangAs::ConstructJob(), and RenderDebugOptions().
|
static |
Definition at line 1003 of file Clang.cpp.
References checkDebugInfoOption(), and clang::driver::Driver::Diag().
Referenced by clang::driver::tools::ClangAs::ConstructJob(), and RenderDebugOptions().
|
static |
Definition at line 3166 of file Clang.cpp.
References clang::driver::ToolChain::adjustDebugInfoKind(), checkDebugInfoOption(), clang::codegenoptions::DebugDirectivesOnly, DebugLevelToInfoKind(), clang::codegenoptions::DebugLineTablesOnly, clang::codegenoptions::DIF_CodeView, clang::codegenoptions::DIF_DWARF, DwarfVersionNum(), clang::codegenoptions::FullDebugInfo, getDebugFissionKind(), clang::driver::ToolChain::getDefaultDebugFormat(), clang::driver::ToolChain::getDefaultDebuggerTuning(), clang::driver::ToolChain::GetDefaultDwarfVersion(), clang::driver::ToolChain::GetDefaultStandaloneDebug(), clang::codegenoptions::LimitedDebugInfo, clang::codegenoptions::NoDebugInfo, None, RenderDebugEnablingArgs(), and RenderDebugInfoCompressionArgs().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 3028 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 2260 of file Clang.cpp.
References clang::driver::Driver::Diag(), clang::driver::ToolChain::IsMathErrnoDefault(), and ParseMRecip().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 2741 of file Clang.cpp.
References clang::driver::Compilation::addTempFile(), clang::driver::Driver::Diag(), clang::driver::Driver::getDefaultModuleCachePath(), clang::driver::InputInfo::getFilename(), clang::driver::InputInfo::getType(), clang::driver::types::isCXX(), clang::driver::Compilation::isForDiagnostics(), and clang::driver::Driver::ResourceDir.
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 2938 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 2599 of file Clang.cpp.
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 2507 of file Clang.cpp.
References clang::driver::ToolChain::GetDefaultStackProtectorLevel(), clang::driver::ToolChain::getEffectiveTriple(), clang::LangOptions::SSPOn, clang::LangOptions::SSPReq, and clang::LangOptions::SSPStrong.
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 2555 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().
Definition at line 469 of file Clang.cpp.
References clang::Default, clang::driver::ToolChain::getTriple(), and clang::driver::ToolChain::useIntegratedAs().
Referenced by clang::driver::tools::Clang::ConstructJob().
Definition at line 480 of file Clang.cpp.
References 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 634 of file Clang.cpp.
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 394 of file Clang.cpp.
References clang::ObjCRuntime::isNonFragile().
Referenced by addExceptionArgs().
|
static |
Definition at line 577 of file Clang.cpp.
References mustUseNonLeafFramePointerForTarget(), and useFramePointerForTargetByDefault().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 590 of file Clang.cpp.
References useFramePointerForTargetByDefault().
Referenced by clang::driver::tools::Clang::ConstructJob().
|
static |
Definition at line 516 of file Clang.cpp.
References clang::driver::tools::areOptimizationsEnabled().
Referenced by shouldUseFramePointer(), and shouldUseLeafFramePointer().
|
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 923 of file Clang.cpp.
References ContainsCompileAction(), and clang::driver::Compilation::getActions().
Referenced by CollectArgsForIntegratedAssembler().