Home | History | Annotate | Download | only in Driver

Lines Matching defs:Triple

56                                          const llvm::Triple &Triple) {
57 if (Triple.getArch() == llvm::Triple::sparcv9) {
493 static bool isSignedCharDefault(const llvm::Triple &Triple) {
494 switch (Triple.getArch()) {
498 case llvm::Triple::aarch64:
499 case llvm::Triple::aarch64_be:
500 case llvm::Triple::arm:
501 case llvm::Triple::armeb:
502 case llvm::Triple::thumb:
503 case llvm::Triple::thumbeb:
504 if (Triple.isOSDarwin() || Triple.isOSWindows())
508 case llvm::Triple::ppc:
509 case llvm::Triple::ppc64:
510 if (Triple.isOSDarwin())
514 case llvm::Triple::hexagon:
515 case llvm::Triple::ppc64le:
516 case llvm::Triple::systemz:
517 case llvm::Triple::xcore:
522 static bool isNoCommonDefault(const llvm::Triple &Triple) {
523 switch (Triple.getArch()) {
527 case llvm::Triple::xcore:
528 case llvm::Triple::wasm32:
529 case llvm::Triple::wasm64:
537 static int getARMSubArchVersionNumber(const llvm::Triple &Triple) {
538 llvm::StringRef Arch = Triple.getArchName();
543 static bool isARMMProfile(const llvm::Triple &Triple) {
544 llvm::StringRef Arch = Triple.getArchName();
610 const llvm::Triple &Triple) {
613 std::string MArch = arm::getARMArch(ArchName, Triple);
623 const llvm::Triple &Triple) {
626 std::string CPU = arm::getARMTargetCPU(CPUName, ArchName, Triple);
627 if (arm::getLLVMArchSuffixForARM(CPU, ArchName, Triple).empty() ||
632 static bool useAAPCSForMachO(const llvm::Triple &T) {
635 return T.getEnvironment() == llvm::Triple::EABI ||
636 T.getOS() == llvm::Triple::UnknownOS || isARMMProfile(T);
643 const llvm::Triple Triple(TC.ComputeEffectiveClangTriple(Args));
644 auto SubArch = getARMSubArchVersionNumber(Triple);
667 if (Triple.isOSBinFormatMachO() && !useAAPCSForMachO(Triple) &&
670 << Triple.getArchName();
676 switch (Triple.getOS()) {
677 case llvm::Triple::Darwin:
678 case llvm::Triple::MacOSX:
679 case llvm::Triple::IOS:
680 case llvm::Triple::TvOS: {
685 case llvm::Triple::WatchOS:
690 case llvm::Triple::Win32:
694 case llvm::Triple::FreeBSD:
695 switch (Triple.getEnvironment()) {
696 case llvm::Triple::GNUEABIHF:
707 switch (Triple.getEnvironment()) {
708 case llvm::Triple::GNUEABIHF:
709 case llvm::Triple::EABIHF:
712 case llvm::Triple::GNUEABI:
713 case llvm::Triple::EABI:
717 case llvm::Triple::Android:
723 if (Triple.getOS() != llvm::Triple::UnknownOS ||
724 !Triple.isOSBinFormatMachO())
736 const llvm::Triple &Triple,
794 checkARMArchName(D, WaArch, Args, ArchName, Features, Triple);
799 checkARMArchName(D, ArchArg, Args, ArchName, Features, Triple);
810 checkARMCPUName(D, WaCPU, Args, CPUName, ArchName, Features, Triple);
813 checkARMCPUName(D, CPUArg, Args, CPUName, ArchName, Features, Triple);
864 if (Triple.getSubArch() == llvm::Triple::SubArchType::ARMSubArch_v8_1a) {
875 } else if (KernelOrKext && (!Triple.isiOS() || Triple.isOSVersionLT(6)) &&
876 !Triple.isWatchOS()) {
887 if (Triple.getSubArch() == llvm::Triple::SubArchType::ARMSubArch_v6m)
905 int VersionNum = getARMSubArchVersionNumber(Triple);
906 if (TripleTriple.isOSNetBSD()) {
908 Triple.getSubArch() == llvm::Triple::SubArchType::ARMSubArch_v6m)
910 } else if (Triple.isOSLinux() || Triple.isOSNaCl()) {
928 void Clang::AddARMTargetArgs(const llvm::Triple &Triple, const ArgList &Args,
936 } else if (Triple.isOSBinFormatMachO()) {
937 if (useAAPCSForMachO(Triple)) {
939 } else if (Triple.isWatchOS()) {
944 } else if (Triple.isOSWindows()) {
949 switch (Triple.getEnvironment()) {
950 case llvm::Triple::Android:
951 case llvm::Triple::GNUEABI:
952 case llvm::Triple::GNUEABIHF:
955 case llvm::Triple::EABIHF:
956 case llvm::Triple::EABI:
960 if (Triple.getOS() == llvm::Triple::NetBSD)
1025 // FIXME: Should this be picked by checking the target triple instead?
1035 llvm::Triple Triple(TripleStr);
1049 else if (Triple.isOSDarwin())
1064 } else if (Triple.isAndroid()) {
1083 void mips::getMipsCPUAndABI(const ArgList &Args, const llvm::Triple &Triple,
1090 if (Triple.getVendor() == llvm::Triple::ImaginationTechnologies &&
1091 Triple.getEnvironment() == llvm::Triple::GNU) {
1097 if (Triple.isAndroid())
1101 if (Triple.getOS() == llvm::Triple::OpenBSD)
1119 switch (Triple.getArch()) {
1121 llvm_unreachable("Unexpected triple arch name");
1122 case llvm::Triple::mips:
1123 case llvm::Triple::mipsel:
1126 case llvm::Triple::mips64:
1127 case llvm::Triple::mips64el:
1134 // Deduce ABI name from the target triple.
1135 if (Triple.getArch() == llvm::Triple::mips ||
1136 Triple.getArch() == llvm::Triple::mipsel)
1154 const llvm::Triple &Triple) {
1156 tools::mips::getMipsCPUAndABI(Args, Triple, CPUName, ABIName);
1218 static void getMIPSTargetFeatures(const Driver &D, const llvm::Triple &Triple,
1223 mips::getMipsCPUAndABI(Args, Triple, CPUName, ABIName);
1282 } else if (mips::shouldUseFPXX(Args, Triple, CPUName, ABIName, FloatABI)) {
1296 const llvm::Triple &Triple = getToolChain().getTriple();
1297 mips::getMipsCPUAndABI(Args, Triple, CPUName, ABIName);
1410 static void getPPCTargetFeatures(const Driver &D, const llvm::Triple &Triple,
1429 !(Triple.getArch() == llvm::Triple::ppc64 ||
1430 Triple.getArch() == llvm::Triple::ppc64le))
1433 (Triple.getArch() == llvm::Triple::ppc64 ||
1434 Triple.getArch() == llvm::Triple::ppc64le))
1478 case llvm::Triple::ppc64: {
1494 case llvm::Triple::ppc64le:
1554 std::string Triple = getToolChain().ComputeEffectiveClangTriple(Args);
1570 << Triple;
1599 const llvm::Triple &Triple) {
1602 if (Triple.isOSDarwin() && Triple.getArchName() == "x86_64h")
1622 if (Triple.getArch() == llvm::Triple::x86) {
1642 if (Triple.getArch() != llvm::Triple::x86_64 &&
1643 Triple.getArch() != llvm::Triple::x86)
1646 bool Is64Bit = Triple.getArch() == llvm::Triple::x86_64;
1649 if (Triple.isOSDarwin()) {
1650 if (Triple.getArchName() == "x86_64h")
1656 if (Triple.isPS4CPU())
1660 if (Triple.isAndroid())
1667 switch (Triple.getOS()) {
1668 case llvm::Triple::FreeBSD:
1669 case llvm::Triple::NetBSD:
1670 case llvm::Triple::OpenBSD:
1672 case llvm::Triple::Haiku:
1674 case llvm::Triple::Bitrig:
1701 static std::string getCPUName(const ArgList &Args, const llvm::Triple &T,
1707 case llvm::Triple::aarch64:
1708 case llvm::Triple::aarch64_be:
1711 case llvm::Triple::arm:
1712 case llvm::Triple::armeb:
1713 case llvm::Triple::thumb:
1714 case llvm::Triple::thumbeb: {
1719 case llvm::Triple::mips:
1720 case llvm::Triple::mipsel:
1721 case llvm::Triple::mips64:
1722 case llvm::Triple::mips64el: {
1729 case llvm::Triple::nvptx:
1730 case llvm::Triple::nvptx64:
1735 case llvm::Triple::ppc:
1736 case llvm::Triple::ppc64:
1737 case llvm::Triple::ppc64le: {
1743 if (T.getArch() == llvm::Triple::ppc64)
1745 else if (T.getArch() == llvm::Triple::ppc64le)
1753 case llvm::Triple::sparc:
1754 case llvm::Triple::sparcel:
1755 case llvm::Triple::sparcv9:
1760 case llvm::Triple::x86:
1761 case llvm::Triple::x86_64:
1764 case llvm::Triple::hexagon:
1768 case llvm::Triple::systemz:
1771 case llvm::Triple::r600:
1772 case llvm::Triple::amdgcn:
1775 case llvm::Triple::wasm32:
1776 case llvm::Triple::wasm64:
1947 static void getX86TargetFeatures(const Driver &D, const llvm::Triple &Triple,
1961 if (Triple.getArchName() == "x86_64h") {
1972 const llvm::Triple::ArchType ArchType = Triple.getArch();
1974 if (Triple.isAndroid()) {
1975 if (ArchType == llvm::Triple::x86_64) {
1987 if (ArchType == llvm::Triple::x86_64 || ArchType == llvm::Triple::x86) {
1994 if (ArchType == llvm::Triple::x86) {
2287 static void getTargetFeatures(const ToolChain &TC, const llvm::Triple &Triple,
2292 switch (Triple.getArch()) {
2295 case llvm::Triple::mips:
2296 case llvm::Triple::mipsel:
2297 case llvm::Triple::mips64:
2298 case llvm::Triple::mips64el:
2299 getMIPSTargetFeatures(D, Triple, Args, Features);
2302 case llvm::Triple::arm:
2303 case llvm::Triple::armeb:
2304 case llvm::Triple::thumb:
2305 case llvm::Triple::thumbeb:
2306 getARMTargetFeatures(TC, Triple, Args, Features, ForAS);
2309 case llvm::Triple::ppc:
2310 case llvm::Triple::ppc64:
2311 case llvm::Triple::ppc64le:
2312 getPPCTargetFeatures(D, Triple, Args, Features);
2314 case llvm::Triple::systemz:
2317 case llvm::Triple::aarch64:
2318 case llvm::Triple::aarch64_be:
2321 case llvm::Triple::x86:
2322 case llvm::Triple::x86_64:
2323 getX86TargetFeatures(D, Triple, Args, Features);
2325 case llvm::Triple::hexagon:
2328 case llvm::Triple::wasm32:
2329 case llvm::Triple::wasm64:
2358 const llvm::Triple &Triple) {
2365 if (!Triple.isMacOSX())
2368 return (!Triple.isMacOSXVersionLT(10, 5) &&
2369 (Triple.getArch() == llvm::Triple::x86_64 ||
2370 Triple.getArch() == llvm::Triple::arm));
2382 const llvm::Triple &Triple = TC.getTriple();
2407 EH |= shouldUseExceptionTablesForObjCExceptions(objcRuntime, Triple);
2413 bool CXXExceptionsEnabled = Triple.getArch() != llvm::Triple::xcore &&
2414 !Triple.isPS4CPU() &&
2415 !Triple.isWindowsMSVCEnvironment();
2425 if (Triple.isPS4CPU()) {
2603 case llvm::Triple::mips:
2604 case llvm::Triple::mipsel:
2605 case llvm::Triple::mips64:
2606 case llvm::Triple::mips64el:
2788 if (TC.getTriple().getOS() != llvm::Triple::FreeBSD)
2877 const llvm::Triple &Triple) {
2878 switch (Triple.getArch()) {
2879 case llvm::Triple::xcore:
2880 case llvm::Triple::wasm32:
2881 case llvm::Triple::wasm64:
2889 if (Triple.isOSLinux()) {
2890 switch (Triple.getArch()) {
2892 case llvm::Triple::mips64:
2893 case llvm::Triple::mips64el:
2894 case llvm::Triple::mips:
2895 case llvm::Triple::mipsel:
2896 case llvm::Triple::systemz:
2897 case llvm::Triple::x86:
2898 case llvm::Triple::x86_64:
2905 if (Triple.isOSWindows()) {
2906 switch (Triple.getArch()) {
2907 case llvm::Triple::x86:
2909 case llvm::Triple::arm:
2910 case llvm::Triple::thumb:
2924 const llvm::Triple &Triple) {
2931 return shouldUseFramePointerForTarget(Args, Triple);
2935 const llvm::Triple &Triple) {
2942 if (Triple.isPS4CPU())
2945 return shouldUseFramePointerForTarget(Args, Triple);
3102 const llvm::Triple &Triple,
3139 Triple.getEnvironmentVersion(Major, Minor, Micro);
3266 ParsePICArgs(const ToolChain &ToolChain, const llvm::Triple &Triple,
3269 // ToolChain.getTriple() and Triple?
3283 case llvm::Triple::arm:
3284 case llvm::Triple::armeb:
3285 case llvm::Triple::thumb:
3286 case llvm::Triple::thumbeb:
3287 case llvm::Triple::aarch64:
3288 case llvm::Triple::mips:
3289 case llvm::Triple::mipsel:
3290 case llvm::Triple::mips64:
3291 case llvm::Triple::mips64el:
3295 case llvm::Triple::x86:
3296 case llvm::Triple::x86_64:
3307 if (ToolChain.getTriple().getOS() == llvm::Triple::OpenBSD) {
3309 case llvm::Triple::mips64:
3310 case llvm::Triple::mips64el:
3311 case llvm::Triple::sparcel:
3312 case llvm::Triple::x86:
3313 case llvm::Triple::x86_64:
3317 case llvm::Triple::ppc:
3318 case llvm::Triple::sparc:
3319 case llvm::Triple::sparcv9:
3350 if (Triple.isPS4CPU()) {
3366 if (PIC && (ToolChain.getTriple().isOSDarwin() || Triple.isPS4CPU()))
3371 if (KernelOrKext && ((!Triple.isiOS() || Triple.isOSVersionLT(6)) &&
3372 !Triple.isWatchOS()))
3428 const llvm::Triple Triple(TripleStr);
3455 // Add the "effective" target triple.
3456 CmdArgs.push_back("-triple");
3464 // extract the triple.
3472 CmdArgs.push_back("-aux-triple");
3478 if (Triple.isOSWindows() && (Triple.getArch() == llvm::Triple::arm ||
3479 Triple.getArch() == llvm::Triple::thumb)) {
3480 unsigned Offset = Triple.getArch() == llvm::Triple::arm ? 4 : 6;
3482 Triple.getArchName().substr(Offset).getAsInteger(10, Version);
3484 D.Diag(diag::err_target_unsupported_arch) << Triple.getArchName()
3611 if (getToolChain().getTriple().getVendor() == llvm::Triple::Apple)
3657 ParsePICArgs(getToolChain(), Triple, Args);
3716 if (getToolChain().getArch() != llvm::Triple::x86) {
3968 std::string CPU = getCPUName(Args, Triple, /*FromAs*/ false);
3980 getTargetFeatures(getToolChain(), Triple, Args, CmdArgs, false);
3987 case llvm::Triple::arm:
3988 case llvm::Triple::armeb:
3989 case llvm::Triple::thumb:
3990 case llvm::Triple::thumbeb:
3991 // Use the effective triple, which takes into account the deployment target.
3992 AddARMTargetArgs(Triple, Args, CmdArgs, KernelOrKext);
3995 case llvm::Triple::aarch64:
3996 case llvm::Triple::aarch64_be:
4000 case llvm::Triple::mips:
4001 case llvm::Triple::mipsel:
4002 case llvm::Triple::mips64:
4003 case llvm::Triple::mips64el:
4007 case llvm::Triple::ppc:
4008 case llvm::Triple::ppc64:
4009 case llvm::Triple::ppc64le:
4013 case llvm::Triple::sparc:
4014 case llvm::Triple::sparcel:
4015 case llvm::Triple::sparcv9:
4019 case llvm::Triple::x86:
4020 case llvm::Triple::x86_64:
4024 case llvm::Triple::hexagon:
4064 getToolChain().getArch() == llvm::Triple::x86) {
4189 bool UseSeparateSections = Triple.getOS() == llvm::Triple::CloudABI;
4548 bool EmulatedTLSDefault = Triple.isAndroid();
4591 const llvm::Triple::ArchType Arch = getToolChain().getArch();
4592 if (!(Arch == llvm::Triple::ppc || Arch == llvm::Triple::ppc64 ||
4593 Arch == llvm::Triple::ppc64le))
4712 case llvm::Triple::aarch64:
4713 case llvm::Triple::aarch64_be:
4714 case llvm::Triple::arm:
4715 case llvm::Triple::armeb:
4716 case llvm::Triple::thumb:
4717 case llvm::Triple::thumbeb:
4734 } else if (Triple.isOSWindows() &&
4735 (Triple.getArch() == llvm::Triple::arm ||
4736 Triple.getArch() == llvm::Triple::thumb)) {
4918 getToolChain().getArch() == llvm::Triple::hexagon))
4937 getToolChain().getTriple().getOS() != llvm::Triple::Solaris &&
4938 getToolChain().getArch() != llvm::Triple::hexagon &&
4939 getToolChain().getArch() != llvm::Triple::xcore &&
4941 llvm::Triple::MipsTechnologies) ||
5041 if (getToolChain().getArch() == llvm::Triple::x86 &&
5372 if (getToolChain().getArch() == llvm::Triple::le32) {
5381 (getToolChain().getArch() == llvm::Triple::arm ||
5382 getToolChain().getArch() == llvm::Triple::thumb)) {
5815 if (getToolChain().getArch() == llvm::Triple::x86_64 ||
5816 getToolChain().getArch() == llvm::Triple::x86)
5875 const llvm::Triple &Triple = getToolChain().getTriple();
5876 mips::getMipsCPUAndABI(Args, Triple, CPUName, ABIName);
5893 const llvm::Triple Triple(TripleStr);
5907 // Add the "effective" target triple.
5908 CmdArgs.push_back("-triple");
5922 std::string CPU = getCPUName(Args, Triple, /*FromAs*/ true);
5929 getTargetFeatures(getToolChain(), Triple, Args, CmdArgs, true);
5982 ParsePICArgs(getToolChain(), Triple, Args);
6017 case llvm::Triple::mips:
6018 case llvm::Triple::mipsel:
6019 case llvm::Triple::mips64:
6020 case llvm::Triple::mips64el:
6099 // FIXME: The triple class should directly provide the information we want
6104 case llvm::Triple::x86:
6105 case llvm::Triple::ppc:
6108 case llvm::Triple::x86_64:
6109 case llvm::Triple::ppc64:
6110 case llvm::Triple::ppc64le:
6113 case llvm::Triple::sparcel:
6525 const std::string arm::getARMArch(StringRef Arch, const llvm::Triple &Triple) {
6530 MArch = Triple.getArchName();
6538 StringRef Suffix = arm::getLLVMArchSuffixForARM(CPU, MArch, Triple);
6552 StringRef arm::getARMCPUForMArch(StringRef Arch, const llvm::Triple &Triple) {
6553 std::string MArch = getARMArch(Arch, Triple);
6554 // getARMCPUForArch defaults to the triple if MArch is empty, but empty MArch
6561 return Triple.getARMCPUForArch(MArch);
6566 const llvm::Triple &Triple) {
6578 return getARMCPUForMArch(Arch, Triple);
6585 const llvm::Triple &Triple) {
6588 std::string ARMArch = tools::arm::getARMArch(Arch, Triple);
6592 // extract arch from default cpu of the Triple
6593 ArchKind = llvm::ARM::parseCPUArch(Triple.getARMCPUForArch(ARMArch));
6596 // armv7k triple if it's actually been specified via "-arch armv7k".
6607 const llvm::Triple &Triple) {
6613 if (getARMSubArchVersionNumber(Triple) >= 7 || isARMMProfile(Triple))
6650 bool mips::isNaN2008(const ArgList &Args, const llvm::Triple &Triple) {
6658 return llvm::StringSwitch<bool>(getCPUName(Args, Triple))
6665 bool mips::isFPXXDefault(const llvm::Triple &Triple, StringRef CPUName,
6667 if (Triple.getVendor() != llvm::Triple::ImaginationTechnologies &&
6668 Triple.getVendor() != llvm::Triple::MipsTechnologies)
6686 bool mips::shouldUseFPXX(const ArgList &Args, const llvm::Triple &Triple,
6689 bool UseFPXX = isFPXXDefault(Triple, CPUName, ABIName, FloatABI);
6700 llvm::Triple::ArchType darwin::getArchTypeForMachOArchName(StringRef Str) {
6713 return llvm::StringSwitch<llvm::Triple::ArchType>(Str)
6714 .Cases("ppc", "ppc601", "ppc603", "ppc604", "ppc604e", llvm::Triple::ppc)
6715 .Cases("ppc750", "ppc7400", "ppc7450", "ppc970", llvm::Triple::ppc)
6716 .Case("ppc64", llvm::Triple::ppc64)
6717 .Cases("i386", "i486", "i486SX", "i586", "i686", llvm::Triple::x86)
6719 llvm::Triple::x86)
6720 .Cases("x86_64", "x86_64h", llvm::Triple::x86_64)
6722 .Cases("arm", "armv4t", "armv5", "armv6", "armv6m", llvm::Triple::arm)
6723 .Cases("armv7", "armv7em", "armv7k", "armv7m", llvm::Triple::arm)
6724 .Cases("armv7s", "xscale", llvm::Triple::arm)
6725 .Case("arm64", llvm::Triple::aarch64)
6726 .Case("r600", llvm::Triple::r600)
6727 .Case("amdgcn", llvm::Triple::amdgcn)
6728 .Case("nvptx", llvm::Triple::nvptx)
6729 .Case("nvptx64", llvm::Triple::nvptx64)
6730 .Case("amdil", llvm::Triple::amdil)
6731 .Case("spir", llvm::Triple::spir)
6732 .Default(llvm::Triple::UnknownArch);
6735 void darwin::setTripleTypeForMachOArchName(llvm::Triple &T, StringRef Str) {
6736 const llvm::Triple::ArchType Arch = getArchTypeForMachOArchName(Str);
6742 T.setOS(llvm::Triple::UnknownOS);
6743 T.setObjectFormat(llvm::Triple::MachO);
6861 const llvm::Triple &T(getToolChain().getTriple());
6879 if (getToolChain().getArch() == llvm::Triple::x86 ||
6880 getToolChain().getArch() == llvm::Triple::x86_64 ||
6884 if (getToolChain().getArch() != llvm::Triple::x86_64 &&
7444 case llvm::Triple::x86:
7450 case llvm::Triple::ppc:
7455 case llvm::Triple::sparc:
7456 case llvm::Triple::sparcel: {
7464 case llvm::Triple::sparcv9: {
7472 case llvm::Triple::mips64:
7473 case llvm::Triple::mips64el: {
7481 if (getToolChain().getArch() == llvm::Triple::mips64)
7522 if (getToolChain().getArch() == llvm::Triple::mips64)
7524 else if (getToolChain().getArch() == llvm::Triple::mips64el)
7573 std::string Triple = getToolChain().getTripleString();
7574 if (Triple.substr(0, 6) == "x86_64")
7575 Triple.replace(0, 6, "amd64");
7577 Args.MakeArgString("-L/usr/lib/gcc-lib/" + Triple + "/4.2.1"));
7729 case llvm::Triple::arm:
7732 case llvm::Triple::x86:
7735 case llvm::Triple::x86_64:
7770 case llvm::Triple::x86:
7773 case llvm::Triple::ppc:
7776 case llvm::Triple::mips:
7777 case llvm::Triple::mipsel:
7778 case llvm::Triple::mips64:
7779 case llvm::Triple::mips64el: {
7790 if (getToolChain().getArch() == llvm::Triple::mips ||
7791 getToolChain().getArch() == llvm::Triple::mips64)
7799 case llvm::Triple::arm:
7800 case llvm::Triple::armeb:
7801 case llvm::Triple::thumb:
7802 case llvm::Triple::thumbeb: {
7811 case llvm::Triple::GNUEABIHF:
7812 case llvm::Triple::GNUEABI:
7813 case llvm::Triple::EABI:
7822 case llvm::Triple::sparc:
7823 case llvm::Triple::sparcel:
7824 case llvm::Triple::sparcv9: {
7852 const llvm::Triple::ArchType Arch = ToolChain.getArch();
7885 if (Arch == llvm::Triple::arm || Arch == llvm::Triple::sparc ||
7886 Arch == llvm::Triple::x86 || Arch == llvm::Triple::x86_64) {
7895 if (Arch == llvm::Triple::x86) {
7900 if (Arch == llvm::Triple::ppc) {
8034 case llvm::Triple::x86:
8037 case llvm::Triple::arm:
8038 case llvm::Triple::armeb:
8039 case llvm::Triple::thumb:
8040 case llvm::Triple::thumbeb: {
8049 case llvm::Triple::mips:
8050 case llvm::Triple::mipsel:
8051 case llvm::Triple::mips64:
8052 case llvm::Triple::mips64el: {
8063 if (getToolChain().getArch() == llvm::Triple::mips ||
8064 getToolChain().getArch() == llvm::Triple::mips64)
8073 case llvm::Triple::sparc:
8074 case llvm::Triple::sparcel: {
8082 case llvm::Triple::sparcv9: {
8134 case llvm::Triple::x86:
8138 case llvm::Triple::arm:
8139 case llvm::Triple::thumb:
8142 case llvm::Triple::EABI:
8143 case llvm::Triple::GNUEABI:
8146 case llvm::Triple::EABIHF:
8147 case llvm::Triple::GNUEABIHF:
8155 case llvm::Triple::armeb:
8156 case llvm::Triple::thumbeb:
8159 llvm::Triple(getToolChain().ComputeEffectiveClangTriple(Args)));
8162 case llvm::Triple::EABI:
8163 case llvm::Triple::GNUEABI:
8166 case llvm::Triple::EABIHF:
8167 case llvm::Triple::GNUEABIHF:
8175 case llvm::Triple::mips64:
8176 case llvm::Triple::mips64el:
8179 if (getToolChain().getArch() == llvm::Triple::mips64)
8185 if (getToolChain().getArch() == llvm::Triple::mips64)
8191 case llvm::Triple::ppc:
8196 case llvm::Triple::ppc64:
8197 case llvm::Triple::ppc64le:
8202 case llvm::Triple::sparc:
8207 case llvm::Triple::sparcv9:
8254 case llvm::Triple::aarch64:
8255 case llvm::Triple::arm:
8256 case llvm::Triple::armeb:
8257 case llvm::Triple::thumb:
8258 case llvm::Triple::thumbeb:
8259 case llvm::Triple::ppc:
8260 case llvm::Triple::ppc64:
8261 case llvm::Triple::ppc64le:
8262 case llvm::Triple::x86:
8263 case llvm::Triple::x86_64:
8322 llvm::Triple Triple = llvm::Triple(TripleStr);
8330 ParsePICArgs(getToolChain(), Triple, Args);
8337 case llvm::Triple::x86:
8340 case llvm::Triple::x86_64:
8341 if (getToolChain().getTriple().getEnvironment() == llvm::Triple::GNUX32)
8346 case llvm::Triple::ppc:
8351 case llvm::Triple::ppc64:
8356 case llvm::Triple::ppc64le:
8362 case llvm::Triple::sparc:
8363 case llvm::Triple::sparcel: {
8370 case llvm::Triple::sparcv9: {
8377 case llvm::Triple::arm:
8378 case llvm::Triple::armeb:
8379 case llvm::Triple::thumb:
8380 case llvm::Triple::thumbeb: {
8381 const llvm::Triple &Triple2 = getToolChain().getTriple();
8383 case llvm::Triple::ARMSubArch_v7:
8386 case llvm::Triple::ARMSubArch_v8:
8420 case llvm::Triple::mips:
8421 case llvm::Triple::mipsel:
8422 case llvm::Triple::mips64:
8423 case llvm::Triple::mips64el: {
8444 if (getToolChain().getArch() == llvm::Triple::mips ||
8445 getToolChain().getArch() == llvm::Triple::mips64)
8502 case llvm::Triple::systemz: {
8532 static void AddLibgcc(const llvm::Triple &Triple, const Driver &D,
8534 bool isAndroid = Triple.isAndroid();
8535 bool isCygMing = Triple.isOSCygMing();
8568 const llvm::Triple::ArchType Arch = ToolChain.getArch();
8575 } else if (Arch == llvm::Triple::x86 || Arch == llvm::Triple::sparc ||
8576 Arch == llvm::Triple::sparcel)
8578 else if (Arch == llvm::Triple::aarch64)
8580 else if (Arch == llvm::Triple::aarch64_be)
8582 else if (Arch == llvm::Triple::arm || Arch == llvm::Triple::thumb) {
8583 if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF ||
8588 } else if (Arch == llvm::Triple::armeb || Arch == llvm::Triple::thumbeb) {
8590 if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF ||
8595 } else if (Arch == llvm::Triple::mips || Arch == llvm::Triple::mipsel ||
8596 Arch == llvm::Triple::mips64 || Arch == llvm::Triple::mips64el) {
8604 bool LE = (ToolChain.getTriple().getArch() == llvm::Triple::mipsel) ||
8605 (ToolChain.getTriple().getArch() == llvm::Triple::mips64el);
8611 } else if (Arch == llvm::Triple::ppc)
8613 else if (Arch == llvm::Triple::ppc64) {
8617 } else if (Arch == llvm::Triple::ppc64le) {
8621 } else if (Arch == llvm::Triple::systemz)
8623 else if (Arch == llvm::Triple::sparcv9)
8625 else if (Arch == llvm::Triple::x86_64 &&
8626 ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUX32)
8642 case llvm::Triple::Win32:
8643 case llvm::Triple::Linux:
8654 static const char *getLDMOption(const llvm::Triple &T, const ArgList &Args) {
8656 case llvm::Triple::x86:
8658 case llvm::Triple::aarch64:
8660 case llvm::Triple::aarch64_be:
8662 case llvm::Triple::arm:
8663 case llvm::Triple::thumb:
8665 case llvm::Triple::armeb:
8666 case llvm::Triple::thumbeb:
8668 case llvm::Triple::ppc:
8670 case llvm::Triple::ppc64:
8672 case llvm::Triple::ppc64le:
8674 case llvm::Triple::sparc:
8675 case llvm::Triple::sparcel:
8677 case llvm::Triple::sparcv9:
8679 case llvm::Triple::mips:
8681 case llvm::Triple::mipsel:
8683 case llvm::Triple::mips64:
8687 case llvm::Triple::mips64el:
8691 case llvm::Triple::systemz:
8693 case llvm::Triple::x86_64:
8694 if (T.getEnvironment() == llvm::Triple::GNUX32)
8712 llvm::Triple Triple = llvm::Triple(TripleStr);
8714 const llvm::Triple::ArchType Arch = ToolChain.getArch();
8721 (ToolChain.getTriple().getVendor() != llvm::Triple::MipsTechnologies);
8753 if (Arch == llvm::Triple::armeb || Arch == llvm::Triple::thumbeb)
8754 arm::appendEBLinkFlags(Args, CmdArgs, Triple);
8767 if (Arch == llvm::Triple::arm || Arch == llvm::Triple::armeb ||
8768 Arch == llvm::Triple::thumb || Arch == llvm::Triple::thumbeb)
8776 if (Arch == llvm::Triple::arm || Arch == llvm::Triple::armeb ||
8777 Arch == llvm::Triple::thumb || Arch == llvm::Triple::thumbeb ||
8955 const llvm::Triple::ArchType Arch = ToolChain.getArch();
8986 if (Arch == llvm::Triple::x86)
8988 else if (Arch == llvm::Triple::arm)
8990 else if (Arch == llvm::Triple::x86_64)
8992 else if (Arch == llvm::Triple::mipsel)
9055 if (getToolChain().getArch() == llvm::Triple::mipsel)
9072 if (getToolChain().getArch() == llvm::Triple::mipsel)
9179 if (getToolChain().getArch() == llvm::Triple::x86)
9223 if (getToolChain().getArch() == llvm::Triple::x86) {
9383 case llvm::Triple::x86:
9386 case llvm::Triple::x86_64:
9389 case llvm::Triple::arm:
9636 if (getToolChain().getArch() == llvm::Triple::x86) {
9638 } else if (getToolChain().getArch() == llvm::Triple::x86_64) {
9722 if (TC.getArch() == llvm::Triple::x86)
9724 if (TC.getArch() == llvm::Triple::x86_64)
9726 if (TC.getArch() == llvm::Triple::arm)
9747 if (TC.getArch() == llvm::Triple::x86)
9926 case llvm::Triple::arm:
9927 case llvm::Triple::thumb:
9929 case llvm::Triple::x86:
9932 case llvm::Triple::x86_64:
9958 const llvm::Triple &T = TC.getTriple();
9986 case llvm::Triple::arm:
9987 case llvm::Triple::thumb:
9991 case llvm::Triple::x86:
9995 case llvm::Triple::x86_64:
10004 case llvm::Triple::arm:
10005 case llvm::Triple::thumb:
10006 case llvm::Triple::x86_64:
10009 case llvm::Triple::x86:
10091 CmdArgs.push_back(Args.MakeArgString(TC.getArch() == llvm::Triple::x86
10198 const llvm::Triple &T = TC.getTriple();
10205 if (T.getArch() == llvm::Triple::sparc)
10243 if (T.getOS() == llvm::Triple::RTEMS) {