Lines Matching refs:TC
444 void tools::AddLinkerInputs(const ToolChain &TC, const InputInfoList &Inputs, in AddLinkerInputs() argument
447 const Driver &D = TC.getDriver(); in AddLinkerInputs()
455 if (!TC.isCrossCompiling()) in AddLinkerInputs()
467 if (!TC.HasNativeLLVMSupport() && types::isLLVMIR(II.getType())) in AddLinkerInputs()
469 D.Diag(diag::err_drv_no_linker_llvm_support) << TC.getTripleString(); in AddLinkerInputs()
486 TC.AddCXXStdlibLibArgs(Args, CmdArgs); in AddLinkerInputs()
488 TC.AddCCKextLibArgs(Args, CmdArgs); in AddLinkerInputs()
495 const ToolChain &TC, const llvm::opt::ArgList &Args, in addLinkerCompressDebugSectionsOption() argument
507 TC.getDriver().Diag(diag::err_drv_unsupported_option_argument) in addLinkerCompressDebugSectionsOption()
781 bool tools::isTLSDESCEnabled(const ToolChain &TC, in isTLSDESCEnabled() argument
783 const llvm::Triple &Triple = TC.getEffectiveTriple(); in isTLSDESCEnabled()
800 TC.getDriver().Diag(diag::err_drv_unsupported_opt_for_target) in isTLSDESCEnabled()
803 TC.getDriver().Diag(diag::err_drv_unsupported_option_argument_for_target) in isTLSDESCEnabled()
1170 if (llvm::any_of(ToolChains, [](const ToolChain *TC) { in addOpenMPDeviceLibC() argument
1171 return TC->getTriple().isAMDGPU(); in addOpenMPDeviceLibC()
1176 if (llvm::any_of(ToolChains, [](const ToolChain *TC) { in addOpenMPDeviceLibC() argument
1177 return TC->getTriple().isNVPTX(); in addOpenMPDeviceLibC()
1184 void tools::addOpenMPRuntimeLibraryPath(const ToolChain &TC, in addOpenMPRuntimeLibraryPath() argument
1190 llvm::sys::path::parent_path(TC.getDriver().Dir); in addOpenMPRuntimeLibraryPath()
1195 void tools::addArchSpecificRPath(const ToolChain &TC, const ArgList &Args, in addArchSpecificRPath() argument
1201 SmallVector<std::string> CandidateRPaths(TC.getArchSpecificLibPaths()); in addArchSpecificRPath()
1202 if (const auto CandidateRPath = TC.getStdlibPath()) in addArchSpecificRPath()
1206 if (TC.getVFS().exists(CandidateRPath)) { in addArchSpecificRPath()
1214 const ToolChain &TC, const ArgList &Args, in addOpenMPRuntime() argument
1221 Driver::OpenMPRuntimeKind RTKind = TC.getDriver().getOpenMPRuntime(Args); in addOpenMPRuntime()
1259 addArchSpecificRPath(TC, Args, CmdArgs); in addOpenMPRuntime()
1260 addOpenMPRuntimeLibraryPath(TC, Args, CmdArgs); in addOpenMPRuntime()
1266 void tools::addFortranRuntimeLibs(const ToolChain &TC, const ArgList &Args, in addFortranRuntimeLibs() argument
1272 if (!TC.getTriple().isKnownWindowsMSVCEnvironment()) { in addFortranRuntimeLibs()
1273 StringRef F128LibName = TC.getDriver().getFlangF128MathLibrary(); in addFortranRuntimeLibs()
1276 bool AsNeeded = !TC.getTriple().isOSAIX(); in addFortranRuntimeLibs()
1279 addAsNeededOption(TC, Args, CmdArgs, /*as_needed=*/true); in addFortranRuntimeLibs()
1282 addAsNeededOption(TC, Args, CmdArgs, /*as_needed=*/false); in addFortranRuntimeLibs()
1289 void tools::addFortranRuntimeLibraryPath(const ToolChain &TC, in addFortranRuntimeLibraryPath() argument
1297 llvm::sys::path::parent_path(TC.getDriver().Dir); in addFortranRuntimeLibraryPath()
1299 if (TC.getTriple().isKnownWindowsMSVCEnvironment()) in addFortranRuntimeLibraryPath()
1305 static void addSanitizerRuntime(const ToolChain &TC, const ArgList &Args, in addSanitizerRuntime() argument
1311 CmdArgs.push_back(TC.getCompilerRTArgString( in addSanitizerRuntime()
1316 addArchSpecificRPath(TC, Args, CmdArgs); in addSanitizerRuntime()
1322 static bool addSanitizerDynamicList(const ToolChain &TC, const ArgList &Args, in addSanitizerDynamicList() argument
1325 bool LinkerIsGnuLd = solaris::isLinkerGnuLd(TC, Args); in addSanitizerDynamicList()
1329 if (TC.getTriple().isOSSolaris() && !LinkerIsGnuLd) in addSanitizerDynamicList()
1331 SmallString<128> SanRT(TC.getCompilerRT(Args, Sanitizer)); in addSanitizerDynamicList()
1339 void tools::addAsNeededOption(const ToolChain &TC, in addAsNeededOption() argument
1343 assert(!TC.getTriple().isOSAIX() && in addAsNeededOption()
1345 bool LinkerIsGnuLd = solaris::isLinkerGnuLd(TC, Args); in addAsNeededOption()
1352 if (TC.getTriple().isOSSolaris() && !LinkerIsGnuLd) { in addAsNeededOption()
1360 void tools::linkSanitizerRuntimeDeps(const ToolChain &TC, in linkSanitizerRuntimeDeps() argument
1365 addAsNeededOption(TC, Args, CmdArgs, false); in linkSanitizerRuntimeDeps()
1367 if (TC.getTriple().getOS() != llvm::Triple::RTEMS && in linkSanitizerRuntimeDeps()
1368 !TC.getTriple().isAndroid() && !TC.getTriple().isOHOSFamily()) { in linkSanitizerRuntimeDeps()
1370 if (!TC.getTriple().isOSOpenBSD()) in linkSanitizerRuntimeDeps()
1375 if (!TC.getTriple().isOSFreeBSD() && !TC.getTriple().isOSNetBSD() && in linkSanitizerRuntimeDeps()
1376 !TC.getTriple().isOSOpenBSD() && in linkSanitizerRuntimeDeps()
1377 TC.getTriple().getOS() != llvm::Triple::RTEMS) in linkSanitizerRuntimeDeps()
1380 if (TC.getTriple().isOSFreeBSD() || in linkSanitizerRuntimeDeps()
1381 TC.getTriple().isOSNetBSD() || in linkSanitizerRuntimeDeps()
1382 TC.getTriple().isOSOpenBSD()) in linkSanitizerRuntimeDeps()
1387 if (TC.getTriple().isOSLinux() && !TC.getTriple().isAndroid() && in linkSanitizerRuntimeDeps()
1388 !TC.getTriple().isMusl()) in linkSanitizerRuntimeDeps()
1393 collectSanitizerRuntimes(const ToolChain &TC, const ArgList &Args, in collectSanitizerRuntimes() argument
1399 const SanitizerArgs &SanArgs = TC.getSanitizerArgs(Args); in collectSanitizerRuntimes()
1404 if (!Args.hasArg(options::OPT_shared) && !TC.getTriple().isAndroid()) in collectSanitizerRuntimes()
1409 if (!Args.hasArg(options::OPT_shared) && !TC.getTriple().isAndroid()) in collectSanitizerRuntimes()
1526 bool tools::addSanitizerRuntimes(const ToolChain &TC, const ArgList &Args, in addSanitizerRuntimes() argument
1528 const SanitizerArgs &SanArgs = TC.getSanitizerArgs(Args); in addSanitizerRuntimes()
1532 collectSanitizerRuntimes(TC, Args, SharedRuntimes, StaticRuntimes, in addSanitizerRuntimes()
1547 addSanitizerRuntime(TC, Args, CmdArgs, "fuzzer", false, true); in addSanitizerRuntimes()
1549 addSanitizerRuntime(TC, Args, CmdArgs, "fuzzer_interceptors", false, in addSanitizerRuntimes()
1556 TC.AddCXXStdlibLibArgs(Args, CmdArgs); in addSanitizerRuntimes()
1563 addSanitizerRuntime(TC, Args, CmdArgs, RT, true, false); in addSanitizerRuntimes()
1565 addSanitizerRuntime(TC, Args, CmdArgs, RT, false, true); in addSanitizerRuntimes()
1568 addSanitizerRuntime(TC, Args, CmdArgs, RT, false, true); in addSanitizerRuntimes()
1569 AddExportDynamic |= !addSanitizerDynamicList(TC, Args, CmdArgs, RT); in addSanitizerRuntimes()
1572 addSanitizerRuntime(TC, Args, CmdArgs, RT, false, false); in addSanitizerRuntimes()
1573 AddExportDynamic |= !addSanitizerDynamicList(TC, Args, CmdArgs, RT); in addSanitizerRuntimes()
1584 if (!TC.getTriple().isAndroid()) { in addSanitizerRuntimes()
1585 TC.getDriver().Diag(diag::err_drv_unsupported_opt_for_target) in addSanitizerRuntimes()
1586 << "-fsanitize=memtag*" << TC.getTriple().str(); in addSanitizerRuntimes()
1599 bool tools::addXRayRuntime(const ToolChain&TC, const ArgList &Args, ArgStringList &CmdArgs) { in addXRayRuntime() argument
1603 if (TC.getXRayArgs().needsXRayRt()) { in addXRayRuntime()
1605 CmdArgs.push_back(TC.getCompilerRTArgString(Args, "xray")); in addXRayRuntime()
1606 for (const auto &Mode : TC.getXRayArgs().modeList()) in addXRayRuntime()
1607 CmdArgs.push_back(TC.getCompilerRTArgString(Args, Mode)); in addXRayRuntime()
1615 void tools::linkXRayRuntimeDeps(const ToolChain &TC, in linkXRayRuntimeDeps() argument
1618 addAsNeededOption(TC, Args, CmdArgs, false); in linkXRayRuntimeDeps()
1620 if (!TC.getTriple().isOSOpenBSD()) in linkXRayRuntimeDeps()
1624 if (!TC.getTriple().isOSFreeBSD() && in linkXRayRuntimeDeps()
1625 !TC.getTriple().isOSNetBSD() && in linkXRayRuntimeDeps()
1626 !TC.getTriple().isOSOpenBSD()) in linkXRayRuntimeDeps()
1670 void tools::SplitDebugInfo(const ToolChain &TC, Compilation &C, const Tool &T, in SplitDebugInfo() argument
1685 Args.MakeArgString(TC.GetProgramPath(CLANG_DEFAULT_OBJCOPY)); in SplitDebugInfo()
1994 unsigned tools::ParseFunctionAlignment(const ToolChain &TC, in ParseFunctionAlignment() argument
2007 TC.getDriver().Diag(diag::err_drv_invalid_int_value) in ParseFunctionAlignment()
2054 static unsigned ParseDebugDefaultVersion(const ToolChain &TC, in ParseDebugDefaultVersion() argument
2064 TC.getDriver().Diag(diag::err_drv_invalid_int_value) in ParseDebugDefaultVersion()
2084 unsigned tools::getDwarfVersion(const ToolChain &TC, in getDwarfVersion() argument
2086 unsigned DwarfVersion = ParseDebugDefaultVersion(TC, Args); in getDwarfVersion()
2090 if (DwarfVersion == 5 && TC.getTriple().isOSAIX()) in getDwarfVersion()
2091 TC.getDriver().Diag(diag::err_drv_unsupported_opt_for_target) in getDwarfVersion()
2092 << GDwarfN->getSpelling() << TC.getTriple().str(); in getDwarfVersion()
2095 DwarfVersion = TC.GetDefaultDwarfVersion(); in getDwarfVersion()
2120 static LibGccType getLibGccType(const ToolChain &TC, const Driver &D, in getLibGccType() argument
2125 TC.getTriple().isAndroid()) in getLibGccType()
2145 static void AddUnwindLibrary(const ToolChain &TC, const Driver &D, in AddUnwindLibrary() argument
2147 ToolChain::UnwindLibType UNW = TC.GetUnwindLibType(Args); in AddUnwindLibrary()
2149 if (TC.getTriple().isOHOSFamily() && UNW == ToolChain::UNW_CompilerRT) { in AddUnwindLibrary()
2155 if ((TC.getTriple().isAndroid() && UNW == ToolChain::UNW_Libgcc) || in AddUnwindLibrary()
2156 TC.getTriple().isOSIAMCU() || TC.getTriple().isOSBinFormatWasm() || in AddUnwindLibrary()
2157 TC.getTriple().isWindowsMSVCEnvironment() || UNW == ToolChain::UNW_None) in AddUnwindLibrary()
2160 LibGccType LGT = getLibGccType(TC, D, Args); in AddUnwindLibrary()
2163 !TC.getTriple().isAndroid() && in AddUnwindLibrary()
2164 !TC.getTriple().isOSCygMing() && !TC.getTriple().isOSAIX(); in AddUnwindLibrary()
2166 addAsNeededOption(TC, Args, CmdArgs, true); in AddUnwindLibrary()
2179 if (TC.getTriple().isOSAIX()) { in AddUnwindLibrary()
2187 if (TC.getTriple().isOSCygMing()) in AddUnwindLibrary()
2200 addAsNeededOption(TC, Args, CmdArgs, false); in AddUnwindLibrary()
2203 static void AddLibgcc(const ToolChain &TC, const Driver &D, in AddLibgcc() argument
2205 LibGccType LGT = getLibGccType(TC, D, Args); in AddLibgcc()
2209 AddUnwindLibrary(TC, D, CmdArgs, Args); in AddLibgcc()
2215 void tools::AddRunTimeLibs(const ToolChain &TC, const Driver &D, in AddRunTimeLibs() argument
2218 ToolChain::RuntimeLibType RLT = TC.GetRuntimeLibType(Args); in AddRunTimeLibs()
2222 CmdArgs.push_back(TC.getCompilerRTArgString(Args, "builtins")); in AddRunTimeLibs()
2223 AddUnwindLibrary(TC, D, CmdArgs, Args); in AddRunTimeLibs()
2227 if (TC.getTriple().isKnownWindowsMSVCEnvironment()) { in AddRunTimeLibs()
2232 TC.getDriver().Diag(diag::err_drv_unsupported_rtlib_for_platform) in AddRunTimeLibs()
2236 AddLibgcc(TC, D, CmdArgs, Args); in AddRunTimeLibs()
2243 if (TC.getTriple().isAndroid() && !Args.hasArg(options::OPT_static) && in AddRunTimeLibs()
2791 void tools::addHIPRuntimeLibArgs(const ToolChain &TC, Compilation &C, in addHIPRuntimeLibArgs() argument
2797 TC.AddHIPRuntimeLibArgs(Args, CmdArgs); in addHIPRuntimeLibArgs()
2806 void tools::addOutlineAtomicsArgs(const Driver &D, const ToolChain &TC, in addOutlineAtomicsArgs() argument
2825 } else if (Triple.isAArch64() && TC.IsAArch64OutlineAtomicsDefault(Args)) { in addOutlineAtomicsArgs()