diff options
Diffstat (limited to 'include/llvm/Support/TargetParser.h')
-rw-r--r-- | include/llvm/Support/TargetParser.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/include/llvm/Support/TargetParser.h b/include/llvm/Support/TargetParser.h index 13b7befb8ce4..08ad42dda3eb 100644 --- a/include/llvm/Support/TargetParser.h +++ b/include/llvm/Support/TargetParser.h @@ -86,6 +86,8 @@ enum ArchExtKind : unsigned { AEK_RAS = 1 << 12, AEK_SVE = 1 << 13, AEK_DOTPROD = 1 << 14, + AEK_SHA2 = 1 << 15, + AEK_AES = 1 << 16, // Unsupported extensions. AEK_OS = 0x8000000, AEK_IWMMXT = 0x10000000, @@ -137,6 +139,7 @@ unsigned parseFPU(StringRef FPU); ArchKind parseArch(StringRef Arch); unsigned parseArchExt(StringRef ArchExt); ArchKind parseCPUArch(StringRef CPU); +void fillValidCPUArchList(SmallVectorImpl<StringRef> &Values); ISAKind parseArchISA(StringRef Arch); EndianKind parseArchEndian(StringRef Arch); ProfileKind parseArchProfile(StringRef Arch); @@ -170,7 +173,11 @@ enum ArchExtKind : unsigned { AEK_SVE = 1 << 9, AEK_DOTPROD = 1 << 10, AEK_RCPC = 1 << 11, - AEK_RDM = 1 << 12 + AEK_RDM = 1 << 12, + AEK_SM4 = 1 << 13, + AEK_SHA3 = 1 << 14, + AEK_SHA2 = 1 << 15, + AEK_AES = 1 << 16, }; StringRef getCanonicalArchName(StringRef Arch); @@ -199,17 +206,21 @@ unsigned checkArchVersion(StringRef Arch); unsigned getDefaultFPU(StringRef CPU, ArchKind AK); unsigned getDefaultExtensions(StringRef CPU, ArchKind AK); StringRef getDefaultCPU(StringRef Arch); +AArch64::ArchKind getCPUArchKind(StringRef CPU); // Parser unsigned parseFPU(StringRef FPU); AArch64::ArchKind parseArch(StringRef Arch); -unsigned parseArchExt(StringRef ArchExt); +ArchExtKind parseArchExt(StringRef ArchExt); ArchKind parseCPUArch(StringRef CPU); +void fillValidCPUArchList(SmallVectorImpl<StringRef> &Values); ARM::ISAKind parseArchISA(StringRef Arch); ARM::EndianKind parseArchEndian(StringRef Arch); ARM::ProfileKind parseArchProfile(StringRef Arch); unsigned parseArchVersion(StringRef Arch); +bool isX18ReservedByDefault(const Triple &TT); + } // namespace AArch64 namespace X86 { |