Lines Matching full:toolchain
25 #include "clang/Driver/ToolChain.h"
209 static void AddLinkerInputs(const ToolChain &TC, const InputInfoList &Inputs,
278 const ToolChain *AuxToolChain) const {
641 arm::FloatABI arm::getARMFloatABI(const ToolChain &TC, const ArgList &Args) {
735 static void getARMTargetFeatures(const ToolChain &TC,
1781 static void AddGoldPlugin(const ToolChain &ToolChain, const ArgList &Args,
1788 ToolChain.getDriver().Dir + "/../lib" CLANG_LIBDIR_SUFFIX "/LLVMgold.so";
1795 std::string CPU = getCPUName(Args, ToolChain.getTriple());
2287 static void getTargetFeatures(const ToolChain &TC, const llvm::Triple &Triple,
2378 const ToolChain &TC, bool KernelOrKext,
2426 ToolChain::RTTIMode RTTIMode = TC.getRTTIMode();
2430 if (RTTIMode == ToolChain::RM_DisabledExplicitly) {
2435 } else if (RTTIMode == ToolChain::RM_EnabledImplicitly)
2438 assert(TC.getRTTIMode() != ToolChain::RM_DisabledImplicitly);
2450 static bool ShouldDisableAutolink(const ArgList &Args, const ToolChain &TC) {
2462 const ToolChain &TC) {
2680 static void addClangRT(const ToolChain &TC, const ArgList &Args,
2708 static OpenMPRuntimeKind getOpenMPRuntime(const ToolChain &TC,
2734 static void addOpenMPRuntime(ArgStringList &CmdArgs, const ToolChain &TC,
2756 static void addSanitizerRuntime(const ToolChain
2768 static bool addSanitizerDynamicList(const ToolChain &TC, const ArgList &Args,
2779 static void linkSanitizerRuntimeDeps(const ToolChain &TC,
2793 collectSanitizerRuntimes(const ToolChain &TC, const ArgList &Args,
2846 static bool addSanitizerRuntimes(const ToolChain &TC, const ArgList &Args,
2974 static void SplitDebugInfo(const ToolChain &TC, Compilation &C, const Tool &T,
3244 static void addPS4ProfileRTArgs(const ToolChain &TC, const ArgList &Args,
3266 ParsePICArgs(const ToolChain &ToolChain, const llvm::Triple &Triple,
3269 // ToolChain.getTriple() and Triple?
3270 bool PIE = ToolChain.isPIEDefault();
3271 bool PIC = PIE || ToolChain.isPICDefault();
3273 if (ToolChain.getTriple().isOSDarwin() && Args.hasArg(options::OPT_static))
3281 if (ToolChain.getTriple().isAndroid()) {
3282 switch (ToolChain.getArch()) {
3307 if (ToolChain.getTriple().getOS() == llvm::Triple::OpenBSD) {
3308 switch (ToolChain.getArch()) {
3338 if (!ToolChain.isPICDefaultForced()) {
3355 ToolChain.getDriver().Diag(diag::warn_drv_ps4_force_pic)
3366 if (PIC && (ToolChain.getTriple().isOSDarwin() || Triple.isPS4CPU()))
3367 IsPICLevelTwo |= ToolChain.isPICDefault();
3378 if (!ToolChain.getTriple().isOSDarwin())
3379 ToolChain.getDriver().Diag(diag::err_drv_unsupported_opt_for_target)
3380 << A->getSpelling() << ToolChain.getTriple().str();
3387 PIC = ToolChain.isPICDefault() && ToolChain.isPICDefaultForced();
3412 static void AddAssemblerKPIC(const ToolChain &ToolChain, const ArgList &Args,
3418 ParsePICArgs(ToolChain, ToolChain.getTriple(), Args);
3459 const ToolChain *AuxToolChain = nullptr;
3463 // can check which toolchain we're using and pick the other one to
3471 assert(AuxToolChain != nullptr && "No aux toolchain.");
3801 // However, turning *off* -ffast_math merely restores the toolchain default
4909 ToolChain::RTTIMode RTTIMode = getToolChain().getRTTIMode();
4912 (RTTIMode == ToolChain::RM_DisabledExplicitly ||
4913 RTTIMode == ToolChain::RM_DisabledImplicitly)))
5065 if (getToolChain().GetCXXStdlibType(Args) == ToolChain::CST_Libcxx)
5631 // If we have no runtime argument, ask the toolchain for its default runtime.
5649 // On Darwin, make this use the default behavior for the toolchain.
6417 const ToolChain::path_list &LibPaths = HTC.getFilePaths();
6499 wasm::Linker::Linker(const ToolChain &TC)
6781 const ToolChain &ToolChain = getToolChain();
6782 const Driver &D = ToolChain.getDriver();
6809 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crt0.o")));
6810 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtbegin.o")));
6814 ToolChain.AddFilePathLibArgs(Args, CmdArgs);
6820 AddGoldPlugin(ToolChain, Args, CmdArgs, D.getLTOMode() == LTOK_Thin);
6822 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
6826 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
6832 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtend.o")));
6834 const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath());
7849 const toolchains::FreeBSD &ToolChain =
7851 const Driver &D = ToolChain.getDriver();
7852 const llvm::Triple::ArchType Arch = ToolChain.getArch();
7855 (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault());
7884 if (ToolChain.getTriple().getOSMajorVersion() >= 9) {
7923 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crt1)));
7925 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
7935 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtbegin)));
7939 ToolChain.AddFilePathLibArgs(Args, CmdArgs);
7948 AddGoldPlugin(ToolChain, Args, CmdArgs, D.getLTOMode() == LTOK_Thin);
7950 bool NeedsSanitizerDeps = addSanitizerRuntimes(ToolChain, Args, CmdArgs);
7951 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
7954 addOpenMPRuntime(CmdArgs, ToolChain, Args);
7956 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
7963 linkSanitizerRuntimeDeps(ToolChain, CmdArgs);
8011 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtendS.o")));
8013 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtend.o")));
8014 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
8017 ToolChain.addProfileRTLibs(Args, CmdArgs);
8567 const toolchains::Linux &ToolChain) {
8568 const llvm::Triple::ArchType Arch = ToolChain.getArch();
8570 if (ToolChain.getTriple().isAndroid()) {
8571 if (ToolChain.getTriple().isArch64Bit())
8583 if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF ||
8584 arm::getARMFloatABI(ToolChain, Args) == arm::FloatABI::Hard)
8590 if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF ||
8591 arm::getARMFloatABI(ToolChain, Args) == arm::FloatABI::Hard)
8598 "/lib" + mips::getMipsABILibSuffix(Args, ToolChain.getTriple());
8600 bool IsNaN2008 = mips::isNaN2008(Args, ToolChain.getTriple());
8603 else if (!ToolChain.getTriple().hasEnvironment()) {
8604 bool LE = (ToolChain.getTriple().getArch() == llvm::Triple::mipsel) ||
8605 (ToolChain.getTriple().getArch() == llvm::Triple::mips64el);
8626 ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUX32)
8632 static void AddRunTimeLibs(const ToolChain &TC, const Driver &D,
8635 ToolChain::RuntimeLibType RLT = TC.GetRuntimeLibType(Args);
8638 case ToolChain::RLT_CompilerRT:
8648 case ToolChain::RLT_Libgcc:
8707 const toolchains::Linux &ToolChain =
8709 const Driver &D = ToolChain.getDriver();
8714 const llvm::Triple::ArchType Arch = ToolChain.getArch();
8715 const bool isAndroid = ToolChain.getTriple().isAndroid();
8718 (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault());
8720 ToolChain.getTriple().hasEnvironment() ||
8721 (ToolChain.getTriple().getVendor() != llvm::Triple::MipsTechnologies);
8733 const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath());
8756 for (const auto &Opt : ToolChain.ExtraOpts)
8764 CmdArgs.push_back(getLDMOption(ToolChain.getTriple(), Args));
8782 D.DyldPrefix + getLinuxDynamicLinker(Args, ToolChain)));
8800 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crt1)));
8802 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
8816 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtbegin)));
8819 ToolChain.AddFastMathRuntimeIfAvailable(Args, CmdArgs);
8825 ToolChain.AddFilePathLibArgs(Args, CmdArgs);
8828 ToolChain, Args, CmdArgs, D.getLTOMode() == LTOK_Thin);
8833 bool NeedsSanitizerDeps = addSanitizerRuntimes(ToolChain, Args, CmdArgs);
8834 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
8844 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
8858 linkSanitizerRuntimeDeps(ToolChain, CmdArgs);
8865 // OpenMP runtimes implies pthreads when using the GNU toolchain.
8870 switch (getOpenMPRuntime(ToolChain, Args)) {
8890 AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
8900 AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
8913 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtend)));
8915 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
8931 const toolchains::NaClToolChain &ToolChain =
8933 InputInfo NaClMacros(ToolChain.GetNaClArmMacrosPath(), types::TY_PP_Asm,
8952 const toolchains::NaClToolChain &ToolChain =
8954 const Driver &D = ToolChain.getDriver();
8955 const llvm::Triple::ArchType Arch = ToolChain.getArch();
8995 D.Diag(diag::err_target_unsupported_arch) << ToolChain.getArchName()
9007 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crt1.o")));
9008 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
9017 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtbegin)));
9023 ToolChain.AddFilePathLibArgs(Args, CmdArgs);
9028 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
9036 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
9085 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtend)));
9086 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
9090 const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath());
9339 static std::string FindVisualStudioExecutable(const ToolChain &TC,
9361 const ToolChain &TC = getToolChain();
9665 ToolChain::RuntimeLibType RLT = getToolChain().GetRuntimeLibType(Args);
9666 if (RLT == ToolChain::RLT_Libgcc) {
9693 const ToolChain &TC = getToolChain();
10289 static void AddPS4SanitizerArgs(const ToolChain &TC, ArgStringList &CmdArgs) {
10304 const toolchains::FreeBSD &ToolChain =
10306 const Driver &D = ToolChain.getDriver();
10335 AddPS4SanitizerArgs(ToolChain, CmdArgs);
10347 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
10353 const char *Exec = Args.MakeArgString(ToolChain.GetProgramPath("ps4-ld"));
10363 const toolchains::FreeBSD &ToolChain =
10365 const Driver &D = ToolChain.getDriver();
10404 AddPS4SanitizerArgs(ToolChain, CmdArgs);
10417 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crt1)));
10419 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
10429 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtbegin)));
10433 ToolChain.AddFilePathLibArgs(Args, CmdArgs);
10443 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
10450 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
10518 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtendS.o")));
10520 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtend.o")));
10521 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
10526 Args.MakeArgString(ToolChain.GetProgramPath("ps4-ld.gold"));
10528 Args.MakeArgString(ToolChain.GetProgramPath("ps4-ld"));
10539 const toolchains::FreeBSD &ToolChain =
10541 const Driver &D = ToolChain.getDriver();