Lines Matching full:triple
47 #include "llvm/TargetParser/Triple.h"
65 const llvm::Triple &Triple, in CalculateRTTIMode() argument
76 bool NoRTTI = Triple.isPS() || Triple.isDriverKit(); in CalculateRTTIMode()
88 ToolChain::ToolChain(const Driver &D, const llvm::Triple &T, in ToolChain()
90 : D(D), Triple(T), Args(Args), CachedRTTIArg(GetRTTIArgument(Args)), in ToolChain()
91 CachedRTTIMode(CalculateRTTIMode(Args, Triple, CachedRTTIArg)), in ToolChain()
133 void ToolChain::setTripleEnvironment(llvm::Triple::EnvironmentType Env) { in setTripleEnvironment()
134 Triple.setEnvironment(Env); in setTripleEnvironment()
135 if (EffectiveTriple != llvm::Triple()) in setTripleEnvironment()
171 D.Diag(DiagID) << A->getAsString(Args) << Triple.getTriple(); in useIntegratedBackend()
174 D.Diag(DiagID) << A->getAsString(Args) << Triple.getTriple(); in useIntegratedBackend()
188 const llvm::Triple &Triple, in getAArch64MultilibFlags() argument
192 tools::aarch64::getAArch64TargetFeatures(D, Triple, Args, Features, false); in getAArch64MultilibFlags()
215 const llvm::Triple &Triple, in getARMMultilibFlags() argument
220 D, Triple, Args, Features, false /*ForAs*/, true /*ForMultilib*/); in getARMMultilibFlags()
233 MArch.insert(MArch.begin(), ("-march=" + Triple.getArchName()).str()); in getARMMultilibFlags()
246 switch (arm::getARMFloatABI(D, Triple, Args)) { in getARMMultilibFlags()
266 const llvm::Triple Triple(ComputeEffectiveClangTriple(Args)); in getMultilibFlags() local
267 Result.push_back("--target=" + Triple.str()); in getMultilibFlags()
269 switch (Triple.getArch()) { in getMultilibFlags()
270 case llvm::Triple::aarch64: in getMultilibFlags()
271 case llvm::Triple::aarch64_32: in getMultilibFlags()
272 case llvm::Triple::aarch64_be: in getMultilibFlags()
273 getAArch64MultilibFlags(D, Triple, Args, Result); in getMultilibFlags()
275 case llvm::Triple::arm: in getMultilibFlags()
276 case llvm::Triple::armeb: in getMultilibFlags()
277 case llvm::Triple::thumb: in getMultilibFlags()
278 case llvm::Triple::thumbeb: in getMultilibFlags()
279 getARMMultilibFlags(D, Triple, Args, Result); in getMultilibFlags()
428 // the same as the ones that appear in the triple. Roughly speaking, this is in getDefaultUniversalArchName()
430 switch (Triple.getArch()) { in getDefaultUniversalArchName()
431 case llvm::Triple::aarch64: { in getDefaultUniversalArchName()
436 case llvm::Triple::aarch64_32: in getDefaultUniversalArchName()
438 case llvm::Triple::ppc: in getDefaultUniversalArchName()
440 case llvm::Triple::ppcle: in getDefaultUniversalArchName()
442 case llvm::Triple::ppc64: in getDefaultUniversalArchName()
444 case llvm::Triple::ppc64le: in getDefaultUniversalArchName()
447 return Triple.getArchName(); in getDefaultUniversalArchName()
580 const llvm::Triple &Triple = TC.getTriple(); in getArchNameForCompilerRTLib() local
581 bool IsWindows = Triple.isOSWindows(); in getArchNameForCompilerRTLib()
584 return Triple.getArchName(); in getArchNameForCompilerRTLib()
586 if (TC.getArch() == llvm::Triple::arm || TC.getArch() == llvm::Triple::armeb) in getArchNameForCompilerRTLib()
592 if (TC.getArch() == llvm::Triple::x86 && Triple.isAndroid()) in getArchNameForCompilerRTLib()
595 if (TC.getArch() == llvm::Triple::x86_64 && Triple.isX32()) in getArchNameForCompilerRTLib()
598 return llvm::Triple::getArchTypeName(TC.getArch()); in getArchNameForCompilerRTLib()
602 if (Triple.isOSDarwin()) in getOSLibName()
605 switch (Triple.getOS()) { in getOSLibName()
606 case llvm::Triple::FreeBSD: in getOSLibName()
608 case llvm::Triple::NetBSD: in getOSLibName()
610 case llvm::Triple::OpenBSD: in getOSLibName()
612 case llvm::Triple::Solaris: in getOSLibName()
614 case llvm::Triple::AIX: in getOSLibName()
628 } else if (Triple.isOSUnknown()) { in getCompilerRTPath()
647 const llvm::Triple &TT = getTriple(); in buildCompilerRTBasename()
719 llvm::Triple TripleWithoutLevel(getTriple()); in getFallbackAndroidTargetPath()
761 [&](const llvm::Triple &Triple) -> std::optional<std::string> { in getTargetSubDirPath() argument
763 llvm::sys::path::append(P, Triple.str()); in getTargetSubDirPath()
778 // Original triple: armv8l-unknown-linux-gnueabihf in getTargetSubDirPath()
779 // Runtime triple: arm-unknown-linux-gnueabihf in getTargetSubDirPath()
787 if (getTriple().getArch() == Triple::arm && !getTriple().isArmMClass()) { in getTargetSubDirPath()
788 llvm::Triple ArmTriple = getTriple(); in getTargetSubDirPath()
789 ArmTriple.setArch(Triple::arm); in getTargetSubDirPath()
806 if (Triple.isOSDarwin()) in getRuntimePath()
808 llvm::sys::path::append(P, Triple.str()); in getRuntimePath()
836 AddPath({getOSLibName(), llvm::Triple::getArchTypeName(getArch())}); in getArchSpecificLibPaths()
930 if (Triple.isOSDarwin()) in GetLinkerPath()
952 if (Triple.isOSDarwin()) in GetStaticLibToolPath()
974 llvm::Triple HostTriple(LLVM_HOST_TRIPLE); in isCrossCompiling()
978 case llvm::Triple::arm: in isCrossCompiling()
979 case llvm::Triple::armeb: in isCrossCompiling()
980 case llvm::Triple::thumb: in isCrossCompiling()
981 case llvm::Triple::thumbeb: in isCrossCompiling()
982 return getArch() != llvm::Triple::arm && getArch() != llvm::Triple::thumb && in isCrossCompiling()
983 getArch() != llvm::Triple::armeb && getArch() != llvm::Triple::thumbeb; in isCrossCompiling()
1002 return Triple.getArch() == llvm::Triple::arm || in isThreadModelSupported()
1003 Triple.getArch() == llvm::Triple::armeb || in isThreadModelSupported()
1004 Triple.getArch() == llvm::Triple::thumb || in isThreadModelSupported()
1005 Triple.getArch() == llvm::Triple::thumbeb || Triple.isWasm(); in isThreadModelSupported()
1018 case llvm::Triple::x86_64: { in ComputeLLVMTriple()
1019 llvm::Triple Triple = getTriple(); in ComputeLLVMTriple() local
1020 if (!Triple.isOSBinFormatMachO()) in ComputeLLVMTriple()
1024 // x86_64h goes in the triple. Other -march options just use the in ComputeLLVMTriple()
1025 // vanilla triple we already have. in ComputeLLVMTriple()
1028 Triple.setArchName(MArch); in ComputeLLVMTriple()
1030 return Triple.getTriple(); in ComputeLLVMTriple()
1032 case llvm::Triple::aarch64: { in ComputeLLVMTriple()
1033 llvm::Triple Triple = getTriple(); in ComputeLLVMTriple() local
1034 tools::aarch64::setPAuthABIInTriple(getDriver(), Args, Triple); in ComputeLLVMTriple()
1035 if (!Triple.isOSBinFormatMachO()) in ComputeLLVMTriple()
1036 return Triple.getTriple(); in ComputeLLVMTriple()
1038 if (Triple.isArm64e()) in ComputeLLVMTriple()
1039 return Triple.getTriple(); in ComputeLLVMTriple()
1042 // triple string and query it to determine whether an LTO file can be in ComputeLLVMTriple()
1044 Triple.setArchName("arm64"); in ComputeLLVMTriple()
1045 return Triple.getTriple(); in ComputeLLVMTriple()
1047 case llvm::Triple::aarch64_32: in ComputeLLVMTriple()
1049 case llvm::Triple::arm: in ComputeLLVMTriple()
1050 case llvm::Triple::armeb: in ComputeLLVMTriple()
1051 case llvm::Triple::thumb: in ComputeLLVMTriple()
1052 case llvm::Triple::thumbeb: { in ComputeLLVMTriple()
1053 llvm::Triple Triple = getTriple(); in ComputeLLVMTriple() local
1054 tools::arm::setArchNameInTriple(getDriver(), Args, InputType, Triple); in ComputeLLVMTriple()
1055 tools::arm::setFloatABIInTriple(getDriver(), Args, Triple); in ComputeLLVMTriple()
1056 return Triple.getTriple(); in ComputeLLVMTriple()
1382 if (getTriple().getArch() == llvm::Triple::x86 || in getSupportedSanitizers()
1383 getTriple().getArch() == llvm::Triple::x86_64 || in getSupportedSanitizers()
1384 getTriple().getArch() == llvm::Triple::arm || getTriple().isWasm() || in getSupportedSanitizers()
1388 if (getTriple().getArch() == llvm::Triple::x86_64 || in getSupportedSanitizers()
1474 // Do not exclude flags when the host triple (AuxTriple) in TranslateOpenMPTargetArgs()
1475 // matches the current toolchain triple. If it is not present in TranslateOpenMPTargetArgs()
1494 llvm::Triple TT(getOpenMPTriple(A->getValue(0))); in TranslateOpenMPTargetArgs()
1496 // Passing device args: -Xopenmp-target=<triple> -opt=val. in TranslateOpenMPTargetArgs()