Lines Matching defs:ToolChain

1 //===- ToolChain.cpp - Collections of tools for one platform --------------===//
9 #include "clang/Driver/ToolChain.h"
65 static ToolChain::RTTIMode CalculateRTTIMode(const ArgList &Args,
71 return ToolChain::RM_Enabled;
73 return ToolChain::RM_Disabled;
78 return NoRTTI ? ToolChain::RM_Disabled : ToolChain::RM_Enabled;
81 static ToolChain::ExceptionsMode CalculateExceptionsMode(const ArgList &Args) {
84 return ToolChain::EM_Enabled;
86 return ToolChain::EM_Disabled;
89 ToolChain::ToolChain(const Driver &D, const llvm::Triple &T,
108 ToolChain::executeToolChainProgram(StringRef Executable) const {
145 void ToolChain::setTripleEnvironment(llvm::Triple::EnvironmentType Env) {
151 ToolChain::~ToolChain() = default;
153 llvm::vfs::FileSystem &ToolChain::getVFS() const {
157 bool ToolChain::useIntegratedAs() const {
163 bool ToolChain::useIntegratedBackend() const {
191 bool ToolChain::useRelaxRelocations() const {
195 bool ToolChain::defaultToIEEELongDouble() const {
344 ToolChain::getMultilibFlags(const llvm::opt::ArgList &Args) const {
373 if (getRTTIMode() == ToolChain::RTTIMode::RM_Disabled)
378 if (getExceptionsMode() == ToolChain::ExceptionsMode::EM_Disabled)
390 ToolChain::getSanitizerArgs(const llvm::opt::ArgList &JobArgs) const {
396 const XRayArgs& ToolChain::getXRayArgs() const {
491 ToolChain::getTargetAndModeFromProgramName(StringRef PN) {
515 StringRef ToolChain::getDefaultUniversalArchName() const {
540 std::string ToolChain::getInputFilename(const InputInfo &Input) const {
544 ToolChain::UnwindTableLevel
545 ToolChain::getDefaultUnwindTableLevel(const ArgList &Args) const {
549 Tool *ToolChain::getClang() const {
555 Tool *ToolChain::getFlang() const {
561 Tool *ToolChain::buildAssembler() const {
565 Tool *ToolChain::buildLinker() const {
569 Tool *ToolChain::buildStaticLibTool() const {
573 Tool *ToolChain::getAssemble() const {
579 Tool *ToolChain::getClangAs() const {
585 Tool *ToolChain::getLink() const {
591 Tool *ToolChain::getStaticLibTool() const {
597 Tool *ToolChain::getIfsMerge() const {
603 Tool *ToolChain::getOffloadBundler() const {
609 Tool *ToolChain::getOffloadPackager() const {
615 Tool *ToolChain::getLinkerWrapper() const {
621 Tool *ToolChain::getTool(Action::ActionClass AC) const {
667 static StringRef getArchNameForCompilerRTLib(const ToolChain &TC,
690 StringRef ToolChain::getOSLibName() const {
710 std::string ToolChain::getCompilerRTPath() const {
725 std::string ToolChain::getCompilerRTBasename(const ArgList &Args,
732 std::string ToolChain::buildCompilerRTBasename(const llvm::opt::ArgList &Args,
741 IsITANMSVCWindows || Type == ToolChain::FT_Object ? "" : "lib";
744 case ToolChain::FT_Object:
747 case ToolChain::FT_Static:
750 case ToolChain::FT_Shared:
766 std::string ToolChain::getCompilerRT(const ArgList &Args, StringRef Component,
797 const char *ToolChain::getCompilerRTArgString(const llvm::opt::ArgList &Args,
807 ToolChain::getFallbackAndroidTargetPath(StringRef BaseDir) const {
848 ToolChain::getTargetSubDirPath(StringRef BaseDir) const {
889 std::optional<std::string> ToolChain::getRuntimePath() const {
901 std::optional<std::string> ToolChain::getStdlibPath() const {
907 std::optional<std::string> ToolChain::getStdlibIncludePath() const {
913 ToolChain::path_list ToolChain::getArchSpecificLibPaths() const {
929 bool ToolChain::needsProfileRT(const ArgList &Args) {
945 bool ToolChain::needsGCovInstrumentation(const llvm::opt::ArgList &Args) {
951 Tool *ToolChain::SelectTool(const JobAction &JA) const {
961 std::string ToolChain::GetFilePath(const char *Name) const {
965 std::string ToolChain::GetProgramPath(const char *Name) const {
969 std::string ToolChain::GetLinkerPath(bool *LinkerIsLLD) const {
1041 std::string ToolChain::GetStaticLibToolPath() const {
1048 types::ID ToolChain::LookupTypeForExtension(StringRef Ext) const {
1060 bool ToolChain::HasNativeLLVMSupport() const {
1064 bool ToolChain::isCrossCompiling() const {
1080 ObjCRuntime ToolChain::getDefaultObjCRuntime(bool isNonFragile) const {
1086 ToolChain::GetExceptionModel(const llvm::opt::ArgList &Args) const {
1090 bool ToolChain::isThreadModelSupported(const StringRef Model) const {
1103 std::string ToolChain::ComputeLLVMTriple(const ArgList &Args,
1158 std::string ToolChain::ComputeEffectiveClangTriple(const ArgList &Args,
1163 std::string ToolChain::computeSysRoot() const {
1167 void ToolChain::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
1172 void ToolChain::addClangTargetOptions(
1176 void ToolChain::addClangCC1ASTargetOptions(const ArgList &Args,
1179 void ToolChain::addClangWarningOptions(ArgStringList &CC1Args) const {}
1181 void ToolChain::addProfileRTLibs(const llvm::opt::ArgList &Args,
1189 ToolChain::RuntimeLibType ToolChain::GetRuntimeLibType(
1199 runtimeLibType = ToolChain::RLT_CompilerRT;
1201 runtimeLibType = ToolChain::RLT_Libgcc;
1215 ToolChain::UnwindLibType ToolChain::GetUnwindLibType(
1224 unwindLibType = ToolChain::UNW_None;
1226 ToolChain::RuntimeLibType RtLibType = GetRuntimeLibType(Args);
1227 if (RtLibType == ToolChain::RLT_CompilerRT) {
1229 unwindLibType = ToolChain::UNW_CompilerRT;
1231 unwindLibType = ToolChain::UNW_None;
1232 } else if (RtLibType == ToolChain::RLT_Libgcc)
1233 unwindLibType = ToolChain::UNW_Libgcc;
1237 unwindLibType = ToolChain::UNW_CompilerRT;
1239 unwindLibType = ToolChain::UNW_Libgcc;
1251 ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{
1260 cxxStdlibType = ToolChain::CST_Libcxx;
1262 cxxStdlibType = ToolChain::CST_Libstdcxx;
1277 /*static*/ void ToolChain::addSystemInclude(const ArgList &DriverArgs,
1292 /*static*/ void ToolChain::addExternCSystemInclude(const ArgList &DriverArgs,
1299 void ToolChain::addExternCSystemIncludeIfExists(const ArgList &DriverArgs,
1307 /*static*/ void ToolChain::addSystemIncludes(const ArgList &DriverArgs,
1316 /*static*/ std::string ToolChain::concat(StringRef Path, const Twine &A,
1324 std::string ToolChain::detectLibcxxVersion(StringRef IncludePath) const {
1347 void ToolChain::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
1361 void ToolChain::AddClangCXXStdlibIsystemArgs(
1379 bool ToolChain::ShouldLinkCXXStdlib(const llvm::opt::ArgList &Args) const {
1385 void ToolChain::AddCXXStdlibLibArgs(const ArgList &Args,
1392 case ToolChain::CST_Libcxx:
1398 case ToolChain::CST_Libstdcxx:
1404 void ToolChain::AddFilePathLibArgs(const ArgList &Args,
1411 void ToolChain::AddCCKextLibArgs(const ArgList &Args,
1416 bool ToolChain::isFastMathRuntimeAvailable(const ArgList &Args,
1452 bool ToolChain::addFastMathRuntimeIfAvailable(const ArgList &Args,
1464 ToolChain::getSystemGPUArchs(const llvm::opt::ArgList &Args) const {
1468 SanitizerMask ToolChain::getSupportedSanitizers() const {
1494 void ToolChain::AddCudaIncludeArgs(const ArgList &DriverArgs,
1497 void ToolChain::AddHIPIncludeArgs(const ArgList &DriverArgs,
1500 void ToolChain::addSYCLIncludeArgs(const ArgList &DriverArgs,
1503 llvm::SmallVector<ToolChain::BitCodeLibraryInfo, 12>
1504 ToolChain::getDeviceLibs(const ArgList &DriverArgs) const {
1508 void ToolChain::AddIAMCUIncludeArgs(const ArgList &DriverArgs,
1525 ToolChain::computeMSVCVersion(const Driver *D,
1565 llvm::opt::DerivedArgList *ToolChain::TranslateOpenMPTargetArgs(
1642 void ToolChain::TranslateXarchArgs(
1684 llvm::opt::DerivedArgList *ToolChain::TranslateXarchArgs(