Home | History | Annotate | Download | only in Driver

Lines Matching refs:ToolChain

23 #include "clang/Driver/ToolChain.h"
170 static void AddLinkerInputs(const ToolChain &TC,
1408 static void AddGoldPlugin(const ToolChain &ToolChain, const ArgList &Args,
1414 std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so";
1421 std::string CPU = getCPUName(Args, ToolChain.getTriple());
1755 const ToolChain &TC) {
1767 const ToolChain &TC) {
1877 static StringRef getArchNameForCompilerRTLib(const ToolChain &TC) {
1885 static SmallString<128> getCompilerRTLibDir(const ToolChain &TC) {
1900 const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs) {
1913 const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs) {
1935 static SmallString<128> getSanitizerRTLibName(const ToolChain &TC,
1950 static void addSanitizerRTLinkFlags(const ToolChain &TC, const ArgList &Args,
1997 static void addAsanRT(const ToolChain &TC, const ArgList &Args,
2024 static void addTsanRT(const ToolChain &TC, const ArgList &Args,
2032 static void addMsanRT(const ToolChain &TC, const ArgList &Args,
2040 static void addLsanRT(const ToolChain &TC, const ArgList &Args,
2048 static void addUbsanRT(const ToolChain &TC, const ArgList &Args,
2068 static void addDfsanRT(const ToolChain &TC, const ArgList &Args,
2075 static void addSanitizerRuntimes(const ToolChain &TC, const ArgList &Args,
2163 static void SplitDebugInfo(const ToolChain &TC, Compilation &C,
2654 // However, turning *off* -ffast_math merely restores the toolchain default
3819 if (getToolChain().GetCXXStdlibType(Args) == ToolChain::CST_Libcxx)
4320 // If we have no runtime argument, ask the toolchain for its default runtime.
4338 // On Darwin, make this use the default behavior for the toolchain.
4882 const toolchains::Hexagon_TC& ToolChain =
4884 const Driver &D = ToolChain.getDriver();
4912 for (const auto &Opt : ToolChain.ExtraOpts)
4988 const ToolChain::path_list &LibPaths = ToolChain.getFilePaths();
5001 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
5008 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
5033 std::string Linker = ToolChain.GetProgramPath("hexagon-ld");
6407 const toolchains::FreeBSD& ToolChain =
6409 const Driver &D = ToolChain.getDriver();
6412 (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault());
6441 if (ToolChain.getTriple().getOSMajorVersion() >= 9) {
6442 llvm::Triple::ArchType Arch = ToolChain.getArch();
6453 if (ToolChain.getArch() == llvm::Triple::x86) {
6458 if (ToolChain.getArch() == llvm::Triple::ppc) {
6482 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crt1)));
6484 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
6494 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtbegin)));
6498 const ToolChain::path_list Paths = ToolChain.getFilePaths();
6509 AddGoldPlugin(ToolChain, Args, CmdArgs);
6511 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
6516 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
6570 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtendS.o")));
6572 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtend.o")));
6573 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
6578 addProfileRT(ToolChain, Args, CmdArgs);
7006 const toolchains::Linux &ToolChain) {
7007 if (ToolChain.getTriple().getEnvironment() == llvm::Triple::Android) {
7008 if (ToolChain.getTriple().isArch64Bit())
7012 } else if (ToolChain.getArch() == llvm::Triple::x86 ||
7013 ToolChain.getArch() == llvm::Triple::sparc)
7015 else if (ToolChain.getArch() == llvm::Triple::aarch64 ||
7016 ToolChain.getArch() == llvm::Triple::arm64)
7018 else if (ToolChain.getArch() == llvm::Triple::aarch64_be ||
7019 ToolChain.getArch() == llvm::Triple::arm64_be)
7021 else if (ToolChain.getArch() == llvm::Triple::arm ||
7022 ToolChain.getArch() == llvm::Triple::thumb) {
7023 if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
7027 } else if (ToolChain.getArch() == llvm::Triple::armeb ||
7028 ToolChain.getArch() == llvm::Triple::thumbeb) {
7029 if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
7033 } else if (ToolChain.getArch() == llvm::Triple::mips ||
7034 ToolChain.getArch() == llvm::Triple::mipsel) {
7035 if (mips::isNaN2008(Args, ToolChain.getTriple()))
7038 } else if (ToolChain.getArch() == llvm::Triple::mips64 ||
7039 ToolChain.getArch() == llvm::Triple::mips64el) {
7041 return mips::isNaN2008(Args, ToolChain.getTriple())
7043 return mips::isNaN2008(Args, ToolChain.getTriple())
7045 } else if (ToolChain.getArch() == llvm::Triple::ppc)
7047 else if (ToolChain.getArch() == llvm::Triple::ppc64 ||
7048 ToolChain.getArch() == llvm::Triple::systemz)
7050 else if (ToolChain.getArch() == llvm::Triple::ppc64le)
7052 else if (ToolChain.getArch() == llvm::Triple::sparcv9)
7054 else if (ToolChain.getArch() == llvm::Triple::x86_64 &&
7055 ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUX32)
7061 static void AddRunTimeLibs(const ToolChain &TC, const Driver &D,
7064 ToolChain::RuntimeLibType RLT = TC.GetRuntimeLibType(Args);
7067 case ToolChain::RLT_CompilerRT:
7070 case ToolChain::RLT_Libgcc:
7081 const toolchains::Linux& ToolChain =
7083 const Driver &D = ToolChain.getDriver();
7085 ToolChain.getTriple().getEnvironment() == llvm::Triple::Android;
7089 (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault() ||
7117 for (const auto &Opt : ToolChain.ExtraOpts)
7125 if (ToolChain.getArch() == llvm::Triple::x86)
7127 else if (ToolChain.getArch() == llvm::Triple::aarch64 ||
7128 ToolChain.getArch() == llvm::Triple::arm64)
7130 else if (ToolChain.getArch() == llvm::Triple::aarch64_be ||
7131 ToolChain.getArch() == llvm::Triple::arm64_be)
7133 else if (ToolChain.getArch() == llvm::Triple::arm
7134 || ToolChain.getArch() == llvm::Triple::thumb)
7136 else if (ToolChain.getArch() == llvm::Triple::armeb
7137 || ToolChain.getArch() == llvm::Triple::thumbeb)
7139 else if (ToolChain.getArch() == llvm::Triple::ppc)
7141 else if (ToolChain.getArch() == llvm::Triple::ppc64)
7143 else if (ToolChain.getArch() == llvm::Triple::ppc64le)
7145 else if (ToolChain.getArch() == llvm::Triple::sparc)
7147 else if (ToolChain.getArch() == llvm::Triple::sparcv9)
7149 else if (ToolChain.getArch() == llvm::Triple::mips)
7151 else if (ToolChain.getArch() == llvm::Triple::mipsel)
7153 else if (ToolChain.getArch() == llvm::Triple::mips64) {
7159 else if (ToolChain.getArch() == llvm::Triple::mips64el) {
7165 else if (ToolChain.getArch() == llvm::Triple::systemz)
7167 else if (ToolChain.getArch() == llvm::Triple::x86_64 &&
7168 ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUX32)
7174 if (ToolChain.getArch() == llvm::Triple::arm ||
7175 ToolChain.getArch() == llvm::Triple::armeb ||
7176 ToolChain.getArch() == llvm::Triple::thumb ||
7177 ToolChain.getArch() == llvm::Triple::thumbeb)
7185 if (ToolChain.getArch() == llvm::Triple::arm ||
7186 ToolChain.getArch() == llvm::Triple::armeb ||
7187 ToolChain.getArch() == llvm::Triple::thumb ||
7188 ToolChain.getArch() == llvm::Triple::thumbeb ||
7193 D.DyldPrefix + getLinuxDynamicLinker(Args, ToolChain)));
7212 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crt1)));
7214 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
7226 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtbegin)));
7229 ToolChain.AddFastMathRuntimeIfAvailable(Args, CmdArgs);
7235 const ToolChain::path_list Paths = ToolChain.getFilePaths();
7241 AddGoldPlugin(ToolChain, Args, CmdArgs);
7246 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
7259 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
7296 AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
7308 AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
7320 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtend)));
7322 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
7326 C.addCommand(new Command(JA, *this, ToolChain.Linker.c_str(), CmdArgs));
7580 static void addSanitizerRTWindows(const ToolChain &TC, const ArgList &Args,