21 if (
T.getArchName() ==
"x86_64h")
33 case ARM::ArchKind::ARMV4T:
35 case ARM::ArchKind::ARMV5T:
36 case ARM::ArchKind::ARMV5TE:
37 case ARM::ArchKind::ARMV5TEJ:
39 case ARM::ArchKind::ARMV6:
40 case ARM::ArchKind::ARMV6K:
42 case ARM::ArchKind::ARMV7A:
44 case ARM::ArchKind::ARMV7S:
46 case ARM::ArchKind::ARMV7K:
48 case ARM::ArchKind::ARMV6M:
50 case ARM::ArchKind::ARMV7M:
52 case ARM::ArchKind::ARMV7EM:
54 case ARM::ArchKind::ARMV8MBaseline:
56 case ARM::ArchKind::ARMV8MMainline:
58 case ARM::ArchKind::ARMV8_1MMainline:
79 "Unsupported triple for mach-o cpu %s: %s", Str,
88 if (!
T.isOSBinFormatMachO())
90 if (
T.isX86() &&
T.isArch32Bit())
92 if (
T.isX86() &&
T.isArch64Bit())
94 if (
T.isARM() ||
T.isThumb())
108 if (!
T.isOSBinFormatMachO())
112 if (
T.isARM() ||
T.isThumb())
124 unsigned PtrAuthABIVersion,
125 bool PtrAuthKernelABIVersion) {
128 return Result.takeError();
131 std::errc::invalid_argument,
132 "ptrauth ABI version is only supported on arm64e.");
133 if (PtrAuthABIVersion > 0xF)
135 std::errc::invalid_argument,
136 "The ptrauth ABI version needs to fit within 4 bits.");
138 PtrAuthKernelABIVersion);
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
StringRef - Represent a constant reference to a string, i.e.
Triple - Helper class for working with autoconf configuration names.
LLVM_ABI ArchKind parseArch(StringRef Arch)
LLVM_ABI Expected< uint32_t > getCPUSubType(const Triple &T)
@ CPU_SUBTYPE_POWERPC_ALL
@ CPU_SUBTYPE_ARM_V8M_BASE
@ CPU_SUBTYPE_ARM_V8M_MAIN
@ CPU_SUBTYPE_ARM_V8_1M_MAIN
@ CPU_SUBTYPE_ARM64_32_V8
uint32_t CPU_SUBTYPE_ARM64E_WITH_PTRAUTH_VERSION(unsigned PtrAuthABIVersion, bool PtrAuthKernelABIVersion)
LLVM_ABI Expected< uint32_t > getCPUType(const Triple &T)
This is an optimization pass for GlobalISel generic memory operations.
Error createStringError(std::error_code EC, char const *Fmt, const Ts &... Vals)
Create formatted StringError object.