Home | History | Annotate | Download | only in Driver

Lines Matching defs:Triple

41 MachO::MachO(const Driver &D, const llvm::Triple &Triple,
43 : ToolChain(D, Triple, Args) {
55 Darwin::Darwin(const Driver & D, const llvm::Triple & Triple,
57 : MachO(D, Triple, Args), TargetInitialized(false) {
58 // Compute the initial Darwin version from the triple
60 if (!Triple.getMacOSXVersion(Major, Minor, Micro))
62 Triple.getOSName();
72 // Compute the initial iOS version from the triple
73 Triple.getiOSVersion(Major, Minor, Micro);
161 case llvm::Triple::thumb:
162 case llvm::Triple::arm: {
185 llvm::Triple Triple(ComputeLLVMTriple(Args, InputType));
187 return Triple.getTriple();
192 llvm::Triple Triple(ComputeLLVMTriple(Args, InputType));
195 // the default triple).
197 return Triple.getTriple();
202 Triple.setOSName(Str);
204 return Triple.getTriple();
236 DarwinClang::DarwinClang(const Driver &D, const llvm::Triple& Triple,
238 : Darwin(D, Triple, Args) {
264 if (isTargetMacOS() && getArch() == llvm::Triple::x86)
399 (getTriple().getArch() != llvm::Triple::arm64 &&
400 getTriple().getArch() != llvm::Triple::aarch64))
425 if (getTriple().getArch() == llvm::Triple::x86)
518 if (getTriple().getArch() == llvm::Triple::arm ||
519 getTriple().getArch() == llvm::Triple::arm64 ||
520 getTriple().getArch() == llvm::Triple::aarch64 ||
521 getTriple().getArch() == llvm::Triple::thumb)
560 if (iOSSimVersion && (getTriple().getArch() != llvm::Triple::x86 &&
561 getTriple().getArch() != llvm::Triple::x86_64)) {
591 if (iOSVersion && (getTriple().getArch() == llvm::Triple::x86 ||
592 getTriple().getArch() == llvm::Triple::x86_64))
656 getTriple().getArch() == llvm::Triple::arm64 ||
657 getTriple().getArch() == llvm::Triple::aarch64 ||
685 // triple arch, or the arch being bound.
686 llvm::Triple::ArchType XarchArch =
799 if (getTriple().getArch() == llvm::Triple::x86 ||
800 getTriple().getArch() == llvm::Triple::x86_64)
928 getTriple().getArch() != llvm::Triple::arm64 &&
929 getTriple().getArch() != llvm::Triple::aarch64) {
971 return getArch() == llvm::Triple::x86_64;
982 return (getTriple().getArch() == llvm::Triple::arm ||
983 getTriple().getArch() == llvm::Triple::thumb);
995 return (getArch() == llvm::Triple::x86_64 ||
996 getArch() == llvm::Triple::arm64 ||
997 getArch() == llvm::Triple::aarch64);
1002 return getArch() == llvm::Triple::x86 || getArch() == llvm::Triple::x86_64;
1086 if (getArch() == llvm::Triple::arm64 ||
1087 getArch() == llvm::Triple::aarch64)
1220 /// triple.
1223 const Driver &D, const llvm::Triple &TargetTriple, const ArgList &Args) {
1224 llvm::Triple BiarchVariantTriple =
1311 const llvm::Triple &TargetTriple, const llvm::Triple &BiarchTriple,
1406 case llvm::Triple::arm64:
1407 case llvm::Triple::aarch64:
1417 case llvm::Triple::arm64_be:
1418 case llvm::Triple::aarch64_be:
1428 case llvm::Triple::arm:
1429 case llvm::Triple::thumb:
1431 if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) {
1439 case llvm::Triple::armeb:
1440 case llvm::Triple::thumbeb:
1442 if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) {
1450 case llvm::Triple::x86_64:
1457 if (TargetTriple.getEnvironment() == llvm::Triple::GNUX32) {
1469 case llvm::Triple::x86:
1478 case llvm::Triple::mips:
1488 case llvm::Triple::mipsel:
1502 case llvm::Triple::mips64:
1512 case llvm::Triple::mips64el:
1525 case llvm::Triple::ppc:
1534 case llvm::Triple::ppc64:
1544 case llvm::Triple::ppc64le:
1550 case llvm::Triple::sparc:
1560 case llvm::Triple::sparcv9:
1570 case llvm::Triple::systemz:
1579 // triple.
1583 // Always append the drivers target triple to the end, in case it doesn't
1612 static bool isMipsArch(llvm::Triple::ArchType Arch) {
1613 return Arch == llvm::Triple::mips || Arch == llvm::Triple::mipsel ||
1614 Arch == llvm::Triple::mips64 || Arch == llvm::Triple::mips64el;
1617 static bool isMips32(llvm::Triple::ArchType Arch) {
1618 return Arch == llvm::Triple::mips || Arch == llvm::Triple::mipsel;
1621 static bool isMips64(llvm::Triple::ArchType Arch) {
1622 return Arch == llvm::Triple::mips64 || Arch == llvm::Triple::mips64el;
1625 static bool isMipsEL(llvm::Triple::ArchType Arch) {
1626 return Arch == llvm::Triple::mipsel || Arch == llvm::Triple::mips64el;
1629 static bool isMipsEB(llvm::Triple::ArchType Arch) {
1630 return Arch == llvm::Triple::mips || Arch == llvm::Triple::mips64;
1682 static bool findMIPSMultilibs(const llvm::Triple &TargetTriple, StringRef Path,
1913 llvm::Triple::ArchType TargetArch = TargetTriple.getArch();
1938 if (TargetTriple.getEnvironment() == llvm::Triple::Android) {
1947 if (TargetTriple.getVendor() == llvm::Triple::ImaginationTechnologies &&
1948 TargetTriple.getOS() == llvm::Triple::Linux &&
1949 TargetTriple.getEnvironment() == llvm::Triple::GNU) {
1989 static bool findBiarchMultilibs(const llvm::Triple &TargetTriple,
1998 // we use that. If not, and if not a biarch triple alias, we look for
2020 const bool IsX32 {TargetTriple.getEnvironment() == llvm::Triple::GNUX32};
2069 const llvm::Triple &TargetTriple, const ArgList &Args,
2072 llvm::Triple::ArchType TargetArch = TargetTriple.getArch();
2073 // There are various different suffixes involving the triple we
2083 // <sysroot>/usr/lib/<triple>/x.y.z so have a look there as well.
2089 // triple.
2095 "/../../../..", // <triple>/gcc/
2096 "/../..", // <triple>/
2097 "/../../../.." // i386-linux-gnu/gcc/<triple>/
2101 (llvm::array_lengthof(LibSuffixes) - (TargetArch != llvm::Triple::x86));
2144 Generic_GCC::Generic_GCC(const Driver &D, const llvm::Triple& Triple,
2146 : ToolChain(D, Triple, Args), GCCInstallation() {
2184 return getArch() == llvm::Triple::x86_64;
2200 return getTriple().getArch() == llvm::Triple::x86 ||
2201 getTriple().getArch() == llvm::Triple::x86_64 ||
2202 getTriple().getArch() == llvm::Triple::aarch64 ||
2203 getTriple().getArch() == llvm::Triple::aarch64_be ||
2204 getTriple().getArch() == llvm::Triple::arm64 ||
2205 getTriple().getArch() == llvm::Triple::arm64_be ||
2206 getTriple().getArch() == llvm::Triple::arm ||
2207 getTriple().getArch() == llvm::Triple::armeb ||
2208 getTriple().getArch() == llvm::Triple::thumb ||
2209 getTriple().getArch() == llvm::Triple::thumbeb;
2216 getTriple().getArch() == llvm::Triple::aarch64 ||
2217 getTriple().getArch() == llvm::Triple::aarch64_be ||
2218 getTriple().getArch() == llvm::Triple::arm64 ||
2219 getTriple().getArch() == llvm::Triple::arm64_be ||
2220 (getTriple().getOS() == llvm::Triple::Linux &&
2222 getTriple().getEnvironment() == llvm::Triple::Android));
2300 Hexagon_TC::Hexagon_TC(const Driver &D, const llvm::Triple &Triple,
2302 : Linux(D, Triple, Args) {
2445 TCEToolChain::TCEToolChain(const Driver &D, const llvm::Triple& Triple,
2447 : ToolChain(D, Triple, Args) {
2476 OpenBSD::OpenBSD(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
2477 : Generic_ELF(D, Triple, Args) {
2492 Bitrig::Bitrig(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
2493 : Generic_ELF(D, Triple, Args) {
2538 StringRef Triple = getTriple().str();
2539 if (Triple.startswith("amd64"))
2542 Triple.substr(5));
2546 Triple);
2567 FreeBSD::FreeBSD(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
2568 : Generic_ELF(D, Triple, Args) {
2572 if ((Triple.getArch() == llvm::Triple::x86 ||
2573 Triple.getArch() == llvm::Triple::ppc) &&
2628 case llvm::Triple::GNUEABIHF:
2629 case llvm::Triple::GNUEABI:
2630 case llvm::Triple::EABI:
2634 return (getTriple().getArch() == llvm::Triple::arm ||
2635 getTriple().getArch() == llvm::Triple::thumb);
2649 NetBSD::NetBSD(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
2650 : Generic_ELF(D, Triple, Args) {
2658 switch (Triple.getArch()) {
2659 case llvm::Triple::x86:
2662 case llvm::Triple::arm:
2663 case llvm::Triple::armeb:
2664 case llvm::Triple::thumb:
2665 case llvm::Triple::thumbeb:
2666 switch (Triple.getEnvironment()) {
2667 case llvm::Triple::EABI:
2668 case llvm::Triple::EABIHF:
2669 case llvm::Triple::GNUEABI:
2670 case llvm::Triple::GNUEABIHF:
2678 case llvm::Triple::mips64:
2679 case llvm::Triple::mips64el:
2685 Triple::sparc:
2721 case llvm::Triple::arm:
2722 case llvm::Triple::armeb:
2723 case llvm::Triple::thumb:
2724 case llvm::Triple::thumbeb:
2725 case llvm::Triple::x86:
2726 case llvm::Triple::x86_64:
2757 Minix::Minix(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
2758 : Generic_ELF(D, Triple, Args) {
2773 AuroraUX::AuroraUX(const Driver &D, const llvm::Triple& Triple,
2775 : Generic_GCC(D, Triple, Args) {
2799 Solaris::Solaris(const Driver &D, const llvm::Triple& Triple,
2801 : Generic_GCC(D, Triple, Args) {
2865 static Distro DetectDistro(llvm::Triple::ArchType Arch) {
2936 /// \brief Get our best guess at the multiarch triple for a target.
2939 /// a target-triple directory in the library and header search paths.
2940 /// Unfortunately, this triple does not align with the vanilla target triple,
2942 static std::string getMultiarchTriple(const llvm::Triple &TargetTriple,
2950 // We use the existence of '/lib/<triple>' as a directory to detect some
2951 // common linux triples that don't quite match the Clang triple for both
2953 // regardless of what the actual target triple is.
2954 case llvm::Triple::arm:
2955 case llvm::Triple::thumb:
2956 if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) {
2964 case llvm::Triple::armeb:
2965 case llvm::Triple::thumbeb:
2966 if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) {
2974 case llvm::Triple::x86:
2978 case llvm::Triple::x86_64:
2980 if (TargetTriple.getEnvironment() != llvm::Triple::GNUX32 &&
2984 case llvm::Triple::arm64:
2985 case llvm::Triple::aarch64:
2989 case llvm::Triple::arm64_be:
2990 case llvm::Triple::aarch64_be:
2994 case llvm::Triple::mips:
2998 case llvm::Triple::mipsel:
3002 case llvm::Triple::mips64:
3008 case llvm::Triple::mips64el:
3014 case llvm::Triple::ppc:
3020 case llvm::Triple::ppc64:
3023 case llvm::Triple::ppc64le:
3034 static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList &Args) {
3035 if (isMipsArch(Triple.getArch())) {
3041 return Triple.isArch32Bit() ? "lib" : "lib64";
3053 if (Triple.getArch() == llvm::Triple::x86 ||
3054 Triple.getArch() == llvm::Triple::ppc)
3057 if (Triple.getArch() == llvm::Triple::x86_64 &&
3058 Triple.getEnvironment() == llvm::Triple::GNUX32)
3061 return Triple.isArch32Bit() ? "lib" : "lib64";
3064 Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
3065 : Generic_ELF(D, Triple, Args) {
3066 GCCInstallation.init(D, Triple, Args);
3068 llvm::Triple::ArchType Arch = Triple.getArch();
3072 // least) put various tools in a triple-prefixed directory off of the parent
3073 // of the GCC installation. We use the GCC triple here to ensure that we end
3092 if (Arch == llvm::Triple::arm || Arch == llvm::Triple::thumb)
3095 const bool IsAndroid = Triple.getEnvironment() == llvm::Triple::Android;
3135 const std::string OSLibDir = getOSLibDir(Triple, Args);
3136 const std::string MultiarchTriple = getMultiarchTriple(Triple, SysRoot);
3140 const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
3151 // as part of the toolchain under <prefix>/<triple>/<libdir> rather than as
3153 triple>/<version>. This decision is somewhat
3163 // <prefix>/<triple>/<libdir> unless they should be preferred over
3202 // Try walking via the GCC triple path in case of biarch or multiarch GCC
3218 const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
3315 // target triple.
3384 if (getTriple().getArch() == llvm::Triple::x86_64) {
3386 } else if (getTriple().getArch() == llvm::Triple::x86) {
3388 } else if (getTriple().getArch() == llvm::Triple::aarch64 ||
3389 getTriple().getArch() == llvm::Triple::aarch64_be ||
3390 getTriple().getArch() == llvm::Triple::arm64 ||
3391 getTriple().getArch() == llvm::Triple::arm64_be) {
3393 } else if (getTriple().getArch() == llvm::Triple::arm) {
3394 if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
3398 } else if (getTriple().getArch() == llvm::Triple::mips) {
3400 } else if (getTriple().getArch() == llvm::Triple::mipsel) {
3402 } else if (getTriple().getArch() == llvm::Triple::mips64) {
3404 } else if (getTriple().getArch() == llvm::Triple::mips64el) {
3406 } else if (getTriple().getArch() == llvm::Triple::ppc) {
3408 } else if (getTriple().getArch() == llvm::Triple::ppc64) {
3410 } else if (getTriple().getArch() == llvm::Triple::ppc64le) {
3420 if (getTriple().getOS() == llvm::Triple::RTEMS)
3534 DragonFly::DragonFly(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
3535 : Generic_ELF(D, Triple, Args) {
3560 XCore::XCore(const Driver &D, const llvm::Triple &Triple,
3561 const ArgList &Args) : ToolChain(D, Triple, Args) {