Lines Matching refs:TC

949         const ToolChain *TC;
969 TC = DeviceTC.get();
971 TC = &getToolChain(C.getInputArgs(), TT);
972 C.addOffloadDeviceToolChain(TC, Action::OFK_OpenMP);
974 KnownArchs[TC] = DerivedArchs[TT.getTriple()];
1465 const ToolChain &TC = getToolChain(
1469 llvm::Triple Triple = TC.getTriple();
1477 << TripleVersionName << TC.getTripleString();
1483 if ((TC.getTriple().getArch() != llvm::Triple::aarch64 ||
1484 TC.getTriple().getSubArch() != llvm::Triple::AArch64SubArch_arm64ec) &&
1487 << TC.getTriple().str();
1493 if (TC.getTriple().getOS() == llvm::Triple::UnknownOS &&
1494 TC.getTriple().getVendor() == llvm::Triple::UnknownVendor) {
1495 switch (TC.getTriple().getArch()) {
1500 if (TC.getTriple().getEnvironmentName() == "elf") {
1503 << (TC.getTriple().getArchName().str() + "-none-eabi");
1509 if (TC.getTriple().getEnvironmentName().starts_with("eabi")) {
1512 << (TC.getTriple().getArchName().str() + "-none-elf");
1521 Compilation *C = new Compilation(*this, TC, UArgs.release(), TranslatedArgs,
1536 if (TC.getTriple().isOSBinFormatMachO())
1793 const ToolChain &TC = C.getDefaultToolChain();
1794 if (TC.getTriple().isOSBinFormatMachO())
1795 BuildUniversalActions(C, TC, Inputs);
2012 const ToolChain &TC = C.getDefaultToolChain();
2013 OS << "Target: " << TC.getTripleString() << '\n';
2018 if (TC.isThreadModelSupported(A->getValue()))
2021 OS << "Thread model: " << TC.getThreadModel();
2185 const ToolChain &TC = C.getDefaultToolChain();
2188 TC.printVerboseInfo(llvm::errs());
2205 for (const std::string &Path : TC.getProgramPaths()) {
2216 for (const std::string &Path : TC.getFilePaths()) {
2236 if (std::optional<std::string> RuntimePath = TC.getRuntimePath())
2239 llvm::outs() << TC.getCompilerRTPath() << '\n';
2253 llvm::outs() << GetFilePath(A->getValue(), TC) << "\n";
2262 llvm::outs() << GetProgramPath(ProgName, TC);
2275 ToolChain::RuntimeLibType RLT = TC.GetRuntimeLibType(C.getArgs());
2276 const llvm::Triple Triple(TC.ComputeEffectiveClangTriple(C.getArgs()));
2284 C.getArgsForToolChain(&TC, Triple.getArchName(), Action::OFK_None);
2285 RegisterEffectiveTriple TripleRAII(TC, Triple);
2288 llvm::outs() << TC.getCompilerRT(C.getArgs(), "builtins") << "\n";
2291 llvm::outs() << GetFilePath("libgcc.a", TC) << "\n";
2298 for (const Multilib &Multilib : TC.getMultilibs())
2304 Multilib::flags_list ArgFlags = TC.getMultilibFlags(C.getArgs());
2305 llvm::StringSet<> ExpandedFlags = TC.getMultilibs().expandFlags(ArgFlags);
2315 for (const Multilib &Multilib : TC.getSelectedMultilibs()) {
2328 llvm::outs() << TC.getTripleString() << "\n";
2333 const llvm::Triple Triple(TC.ComputeEffectiveClangTriple(C.getArgs()));
2379 [&](Action *A, const ToolChain *TC, const char *BoundArch) {
2380 assert(TC && "Unknown host toolchain");
2390 os << TC->getTriple().normalize();
2458 void Driver::BuildUniversalActions(Compilation &C, const ToolChain &TC,
2487 Archs.push_back(Args.MakeArgString(TC.getDefaultUniversalArchName()));
2637 void Driver::BuildInputs(const ToolChain &TC, DerivedArgList &Args,
2646 // The last /TC or /TP option sets the input type to C or C++ globally.
2715 Ty = TC.LookupTypeForExtension(Ext + 1);
2768 // If emulating cl.exe, make sure that /TC and /TP don't affect input
2771 if (Ext && TC.LookupTypeForExtension(Ext + 1) == types::TY_Object)
3213 const ToolChain &TC = *ToolChains.front();
3216 TC.getDriver().Diag(diag::err_drv_undetermined_gpu_arch)
3217 << llvm::Triple::getArchTypeName(TC.getArch())
4401 const auto &TC =
4403 if (TC.requiresValidation(Args)) {
4473 Action::OffloadKind Kind, const ToolChain *TC,
4475 if (!TC)
4476 TC = &C.getDefaultToolChain();
4489 if (KnownArchs.contains(TC))
4490 return KnownArchs.lookup(TC);
4497 ToolChain::getOpenMPTriple(Arg->getValue(0)) == TC->getTriple()) {
4509 auto GPUsOrErr = TC->getSystemGPUArchs(Args);
4514 TC->getDriver().Diag(diag::err_drv_undetermined_gpu_arch)
4515 << llvm::Triple::getArchTypeName(TC->getArch())
4523 TC->getTriple(), SuppressError));
4527 C, Args, Arch, TC->getTriple(), SuppressError);
4539 C, Args, Arch, TC->getTriple(), SuppressError);
4549 getConflictOffloadArchCombination(Archs, TC->getTriple())) {
4613 for (const ToolChain *TC : ToolChains) {
4614 llvm::DenseSet<StringRef> Arches = getOffloadArchs(C, Args, Kind, TC);
4618 TCAndArchs.push_back(std::make_pair(TC, Arch));
5110 const ToolChain &TC;
5172 return TC.useIntegratedAs() && !SaveTemps &&
5229 const Tool *T = TC.SelectTool(*CJ);
5242 const Tool *BT = TC.SelectTool(*BJ);
5266 const Tool *T = TC.SelectTool(*BJ);
5304 const Tool *T = TC.SelectTool(*CJ);
5352 ToolSelector(const JobAction *BaseAction, const ToolChain &TC,
5354 : TC(TC), C(C), BaseAction(BaseAction), SaveTemps(SaveTemps),
5403 T = TC.SelectTool(*BaseAction);
5417 static std::string GetTriplePlusArchString(const ToolChain *TC,
5420 std::string TriplePlusArch = TC->getTriple().normalize();
5431 Compilation &C, const Action *A, const ToolChain *TC, StringRef BoundArch,
5437 A, GetTriplePlusArchString(TC, BoundArch, TargetDeviceOffloadKind)};
5443 C, A, TC, BoundArch, AtTopLevel, MultipleArchs, LinkingOutput,
5481 Compilation &C, const Action *A, const ToolChain *TC, StringRef BoundArch,
5495 C.getArgsForToolChain(TC, BoundArch, Action::OFK_None);
5555 GetTriplePlusArchString(TC, BoundArch, TargetDeviceOffloadKind)};
5576 const ToolChain *TC;
5580 TC = &getToolChain(C.getArgs(),
5584 TC = &C.getDefaultToolChain();
5586 return BuildJobsForAction(C, *BAA->input_begin(), TC, ArchName, AtTopLevel,
5597 ToolSelector TS(JA, *TC, C, isSaveTempsEnabled(),
5625 C, Input, TC, BoundArch, SubJobAtTopLevel, MultipleArchs, LinkingOutput,
5652 C.getArgsForToolChain(TC, BoundArch, A->getOffloadingDeviceKind());
5711 A, GetTriplePlusArchString(TC, BoundArch, TargetDeviceOffloadKind)};
5721 A->getOffloadingDeviceKind(), TC->getTriple().normalize(),
5756 C.getArgsForToolChain(TC, BoundArch, JA->getOffloadingDeviceKind()),
5761 C.getArgsForToolChain(TC, BoundArch, JA->getOffloadingDeviceKind()),
6091 const ToolChain *TC = JA.getOffloadingToolChain();
6096 (JA.getOffloadingDeviceKind() == Action::OFK_OpenMP && TC &&
6097 TC->getTriple().isAMDGPU()));
6151 std::string Driver::GetFilePath(StringRef Name, const ToolChain &TC) const {
6176 SmallString<128> P(TC.getCompilerRTPath());
6186 if (auto P = SearchPaths(TC.getLibraryPaths()))
6189 if (auto P = SearchPaths(TC.getFilePaths()))
6201 StringRef Tool, const ToolChain &TC,
6216 std::string Driver::GetProgramPath(StringRef Name, const ToolChain &TC) const {
6218 generatePrefixedToolNames(Name, TC, TargetSpecificExecutables);
6234 const ToolChain::path_list &List = TC.getProgramPaths();
6259 const ToolChain &TC) const {
6262 switch (TC.GetCXXStdlibType(C.getArgs())) {
6265 std::string lib = GetFilePath(library, TC);
6274 // const SanitizerArgs &Sanitize = TC.getSanitizerArgs(C.getArgs());
6283 if (TC.getVFS().exists(path))
6350 auto &TC = ToolChains[Target.str()];
6351 if (!TC) {
6354 TC = std::make_unique<toolchains::AIX>(*this, Target, Args);
6357 TC = std::make_unique<toolchains::Haiku>(*this, Target, Args);
6366 TC = std::make_unique<toolchains::DarwinClang>(*this, Target, Args);
6369 TC = std::make_unique<toolchains::DragonFly>(*this, Target, Args);
6372 TC = std::make_unique<toolchains::OpenBSD>(*this, Target, Args);
6375 TC = std::make_unique<toolchains::NetBSD>(*this, Target, Args);
6379 TC = std::make_unique<toolchains::PPCFreeBSDToolChain>(*this, Target,
6382 TC = std::make_unique<toolchains::FreeBSD>(*this, Target, Args);
6387 TC = std::make_unique<toolchains::HexagonToolChain>(*this, Target,
6391 TC = std::make_unique<toolchains::MipsLLVMToolChain>(*this, Target,
6394 TC = std::make_unique<toolchains::PPCLinuxToolChain>(*this, Target,
6397 TC = std::make_unique<toolchains::VEToolChain>(*this, Target, Args);
6399 TC = std::make_unique<toolchains::OHOS>(*this, Target, Args);
6401 TC = std::make_unique<toolchains::Linux>(*this, Target, Args);
6404 TC = std::make_unique<toolchains::NaClToolChain>(*this, Target, Args);
6407 TC = std::make_unique<toolchains::Fuchsia>(*this, Target, Args);
6410 TC = std::make_unique<toolchains::Solaris>(*this, Target, Args);
6413 TC = std::make_unique<toolchains::NVPTXToolChain>(*this, Target, Args);
6416 TC = std::make_unique<toolchains::ROCMToolChain>(*this, Target, Args);
6420 TC = std::make_unique<toolchains::AMDGPUToolChain>(*this, Target, Args);
6426 TC = std::make_unique<toolchains::Generic_ELF>(*this, Target, Args);
6428 TC = std::make_unique<toolchains::MachO>(*this, Target, Args);
6430 TC = std::make_unique<toolchains::Generic_GCC>(*this, Target, Args);
6433 TC = std::make_unique<toolchains::MinGW>(*this, Target, Args);
6436 TC = std::make_unique<toolchains::CrossWindowsToolChain>(*this, Target,
6443 TC = std::make_unique<toolchains::CrossWindowsToolChain>(
6446 TC =
6452 TC = std::make_unique<toolchains::PS4CPU>(*this, Target, Args);
6455 TC = std::make_unique<toolchains::PS5CPU>(*this, Target, Args);
6458 TC = std::make_unique<toolchains::Hurd>(*this, Target, Args);
6461 TC = std::make_unique<toolchains::OHOS>(*this, Target, Args);
6464 TC = std::make_unique<toolchains::ZOS>(*this, Target, Args);
6467 TC = std::make_unique<toolchains::HLSLToolChain>(*this, Target, Args);
6474 TC = std::make_unique<toolchains::TCEToolChain>(*this, Target, Args);
6477 TC = std::make_unique<toolchains::TCELEToolChain>(*this, Target, Args);
6480 TC = std::make_unique<toolchains::HexagonToolChain>(*this, Target,
6484 TC = std::make_unique<toolchains::LanaiToolChain>(*this, Target, Args);
6487 TC = std::make_unique<toolchains::XCoreToolChain>(*this, Target, Args);
6491 TC = std::make_unique<toolchains::WebAssembly>(*this, Target, Args);
6494 TC = std::make_unique<toolchains::AVRToolChain>(*this, Target, Args);
6497 TC =
6503 TC =
6506 TC = std::make_unique<toolchains::BareMetal>(*this, Target, Args);
6509 TC = std::make_unique<toolchains::VEToolChain>(*this, Target, Args);
6513 TC = std::make_unique<toolchains::SPIRVToolChain>(*this, Target, Args);
6516 TC = std::make_unique<toolchains::CSKYToolChain>(*this, Target, Args);
6520 TC = std::make_unique<toolchains::BareMetal>(*this, Target, Args);
6522 TC = std::make_unique<toolchains::Generic_ELF>(*this, Target, Args);
6524 TC = std::make_unique<toolchains::MachO>(*this, Target, Args);
6526 TC = std::make_unique<toolchains::Generic_GCC>(*this, Target, Args);
6531 return *TC;
6539 auto &TC = ToolChains[Target.str() + "/" + HostTC.getTriple().str()];
6540 if (!TC) {
6551 TC = std::make_unique<toolchains::HIPAMDToolChain>(*this, Target,
6556 TC = std::make_unique<toolchains::HIPSPVToolChain>(*this, Target,
6565 return *TC;