diff options
| author | Florian Hahn <florian.hahn@arm.com> | 2017-07-27 16:28:39 +0000 |
|---|---|---|
| committer | Florian Hahn <florian.hahn@arm.com> | 2017-07-27 16:28:39 +0000 |
| commit | ef5bbd61dac4abab34df4e79f6b3f5d167e7df04 (patch) | |
| tree | e42785d0270971c21e353e7783023b2978cee55b /clang/lib/Basic | |
| parent | 0026ed2f9cc73e60bbfb1d84b8906a8d4ffb8e96 (diff) | |
| download | bcm5719-llvm-ef5bbd61dac4abab34df4e79f6b3f5d167e7df04.tar.gz bcm5719-llvm-ef5bbd61dac4abab34df4e79f6b3f5d167e7df04.zip | |
Update to use enum classes for various ARM *Kind enums
Summary: This updates the relevant Clang parts for the LLVM change D35882.
Reviewers: rengolin, chandlerc, javed.absar, rovka
Reviewed By: rovka
Subscribers: aemerson, cfe-commits, kristof.beyls
Differential Revision: https://reviews.llvm.org/D35884
llvm-svn: 309289
Diffstat (limited to 'clang/lib/Basic')
| -rw-r--r-- | clang/lib/Basic/Targets/AArch64.cpp | 13 | ||||
| -rw-r--r-- | clang/lib/Basic/Targets/ARM.cpp | 70 | ||||
| -rw-r--r-- | clang/lib/Basic/Targets/ARM.h | 8 |
3 files changed, 46 insertions, 45 deletions
diff --git a/clang/lib/Basic/Targets/AArch64.cpp b/clang/lib/Basic/Targets/AArch64.cpp index b65a44928f2..15e0abfabc7 100644 --- a/clang/lib/Basic/Targets/AArch64.cpp +++ b/clang/lib/Basic/Targets/AArch64.cpp @@ -90,8 +90,7 @@ bool AArch64TargetInfo::setABI(const std::string &Name) { bool AArch64TargetInfo::isValidCPUName(StringRef Name) const { return Name == "generic" || - llvm::AArch64::parseCPUArch(Name) != - static_cast<unsigned>(llvm::AArch64::ArchKind::AK_INVALID); + llvm::AArch64::parseCPUArch(Name) != llvm::AArch64::ArchKind::INVALID; } bool AArch64TargetInfo::setCPU(const std::string &Name) { @@ -178,10 +177,10 @@ void AArch64TargetInfo::getTargetDefines(const LangOptions &Opts, switch (ArchKind) { default: break; - case llvm::AArch64::ArchKind::AK_ARMV8_1A: + case llvm::AArch64::ArchKind::ARMV8_1A: getTargetDefinesARMV81A(Opts, Builder); break; - case llvm::AArch64::ArchKind::AK_ARMV8_2A: + case llvm::AArch64::ArchKind::ARMV8_2A: getTargetDefinesARMV82A(Opts, Builder); break; } @@ -211,7 +210,7 @@ bool AArch64TargetInfo::handleTargetFeatures(std::vector<std::string> &Features, Crypto = 0; Unaligned = 1; HasFullFP16 = 0; - ArchKind = llvm::AArch64::ArchKind::AK_ARMV8A; + ArchKind = llvm::AArch64::ArchKind::ARMV8A; for (const auto &Feature : Features) { if (Feature == "+neon") @@ -225,9 +224,9 @@ bool AArch64TargetInfo::handleTargetFeatures(std::vector<std::string> &Features, if (Feature == "+strict-align") Unaligned = 0; if (Feature == "+v8.1a") - ArchKind = llvm::AArch64::ArchKind::AK_ARMV8_1A; + ArchKind = llvm::AArch64::ArchKind::ARMV8_1A; if (Feature == "+v8.2a") - ArchKind = llvm::AArch64::ArchKind::AK_ARMV8_2A; + ArchKind = llvm::AArch64::ArchKind::ARMV8_2A; if (Feature == "+fullfp16") HasFullFP16 = 1; } diff --git a/clang/lib/Basic/Targets/ARM.cpp b/clang/lib/Basic/Targets/ARM.cpp index 2f828b7f1de..b3e8007bcb1 100644 --- a/clang/lib/Basic/Targets/ARM.cpp +++ b/clang/lib/Basic/Targets/ARM.cpp @@ -133,13 +133,13 @@ void ARMTargetInfo::setArchInfo() { ArchISA = llvm::ARM::parseArchISA(ArchName); CPU = llvm::ARM::getDefaultCPU(ArchName); - unsigned AK = llvm::ARM::parseArch(ArchName); - if (AK != llvm::ARM::AK_INVALID) + llvm::ARM::ArchKind AK = llvm::ARM::parseArch(ArchName); + if (AK != llvm::ARM::ArchKind::INVALID) ArchKind = AK; setArchInfo(ArchKind); } -void ARMTargetInfo::setArchInfo(unsigned Kind) { +void ARMTargetInfo::setArchInfo(llvm::ARM::ArchKind Kind) { StringRef SubArch; // cache TargetParser info @@ -157,10 +157,10 @@ void ARMTargetInfo::setAtomic() { // when triple does not specify a sub arch, // then we are not using inline atomics bool ShouldUseInlineAtomic = - (ArchISA == llvm::ARM::IK_ARM && ArchVersion >= 6) || - (ArchISA == llvm::ARM::IK_THUMB && ArchVersion >= 7); + (ArchISA == llvm::ARM::ISAKind::ARM && ArchVersion >= 6) || + (ArchISA == llvm::ARM::ISAKind::THUMB && ArchVersion >= 7); // Cortex M does not support 8 byte atomics, while general Thumb2 does. - if (ArchProfile == llvm::ARM::PK_M) { + if (ArchProfile == llvm::ARM::ProfileKind::M) { MaxAtomicPromoteWidth = 32; if (ShouldUseInlineAtomic) MaxAtomicInlineWidth = 32; @@ -171,7 +171,9 @@ void ARMTargetInfo::setAtomic() { } } -bool ARMTargetInfo::isThumb() const { return (ArchISA == llvm::ARM::IK_THUMB); } +bool ARMTargetInfo::isThumb() const { + return ArchISA == llvm::ARM::ISAKind::THUMB; +} bool ARMTargetInfo::supportsThumb() const { return CPUAttr.count('T') || ArchVersion >= 6; @@ -188,42 +190,42 @@ StringRef ARMTargetInfo::getCPUAttr() const { switch (ArchKind) { default: return llvm::ARM::getCPUAttr(ArchKind); - case llvm::ARM::AK_ARMV6M: + case llvm::ARM::ArchKind::ARMV6M: return "6M"; - case llvm::ARM::AK_ARMV7S: + case llvm::ARM::ArchKind::ARMV7S: return "7S"; - case llvm::ARM::AK_ARMV7A: + case llvm::ARM::ArchKind::ARMV7A: return "7A"; - case llvm::ARM::AK_ARMV7R: + case llvm::ARM::ArchKind::ARMV7R: return "7R"; - case llvm::ARM::AK_ARMV7M: + case llvm::ARM::ArchKind::ARMV7M: return "7M"; - case llvm::ARM::AK_ARMV7EM: + case llvm::ARM::ArchKind::ARMV7EM: return "7EM"; - case llvm::ARM::AK_ARMV7VE: + case llvm::ARM::ArchKind::ARMV7VE: return "7VE"; - case llvm::ARM::AK_ARMV8A: + case llvm::ARM::ArchKind::ARMV8A: return "8A"; - case llvm::ARM::AK_ARMV8_1A: + case llvm::ARM::ArchKind::ARMV8_1A: return "8_1A"; - case llvm::ARM::AK_ARMV8_2A: + case llvm::ARM::ArchKind::ARMV8_2A: return "8_2A"; - case llvm::ARM::AK_ARMV8MBaseline: + case llvm::ARM::ArchKind::ARMV8MBaseline: return "8M_BASE"; - case llvm::ARM::AK_ARMV8MMainline: + case llvm::ARM::ArchKind::ARMV8MMainline: return "8M_MAIN"; - case llvm::ARM::AK_ARMV8R: + case llvm::ARM::ArchKind::ARMV8R: return "8R"; } } StringRef ARMTargetInfo::getCPUProfile() const { switch (ArchProfile) { - case llvm::ARM::PK_A: + case llvm::ARM::ProfileKind::A: return "A"; - case llvm::ARM::PK_R: + case llvm::ARM::ProfileKind::R: return "R"; - case llvm::ARM::PK_M: + case llvm::ARM::ProfileKind::M: return "M"; default: return ""; @@ -260,7 +262,7 @@ ARMTargetInfo::ARMTargetInfo(const llvm::Triple &Triple, // the frontend matches that. if (Triple.getEnvironment() == llvm::Triple::EABI || Triple.getOS() == llvm::Triple::UnknownOS || - ArchProfile == llvm::ARM::PK_M) { + ArchProfile == llvm::ARM::ProfileKind::M) { setABI("aapcs"); } else if (Triple.isWatchABI()) { setABI("aapcs16"); @@ -347,7 +349,7 @@ bool ARMTargetInfo::initFeatureMap( const std::vector<std::string> &FeaturesVec) const { std::vector<StringRef> TargetFeatures; - unsigned Arch = llvm::ARM::parseArch(getTriple().getArchName()); + llvm::ARM::ArchKind Arch = llvm::ARM::parseArch(getTriple().getArchName()); // get default FPU features unsigned FPUKind = llvm::ARM::getDefaultFPU(CPU, Arch); @@ -437,15 +439,15 @@ bool ARMTargetInfo::handleTargetFeatures(std::vector<std::string> &Features, switch (ArchVersion) { case 6: - if (ArchProfile == llvm::ARM::PK_M) + if (ArchProfile == llvm::ARM::ProfileKind::M) LDREX = 0; - else if (ArchKind == llvm::ARM::AK_ARMV6K) + else if (ArchKind == llvm::ARM::ArchKind::ARMV6K) LDREX = LDREX_D | LDREX_W | LDREX_H | LDREX_B; else LDREX = LDREX_W; break; case 7: - if (ArchProfile == llvm::ARM::PK_M) + if (ArchProfile == llvm::ARM::ProfileKind::M) LDREX = LDREX_W | LDREX_H | LDREX_B; else LDREX = LDREX_D | LDREX_W | LDREX_H | LDREX_B; @@ -487,14 +489,14 @@ bool ARMTargetInfo::hasFeature(StringRef Feature) const { bool ARMTargetInfo::isValidCPUName(StringRef Name) const { return Name == "generic" || - llvm::ARM::parseCPUArch(Name) != llvm::ARM::AK_INVALID; + llvm::ARM::parseCPUArch(Name) != llvm::ARM::ArchKind::INVALID; } bool ARMTargetInfo::setCPU(const std::string &Name) { if (Name != "generic") setArchInfo(llvm::ARM::parseCPUArch(Name)); - if (ArchKind == llvm::ARM::AK_INVALID) + if (ArchKind == llvm::ARM::ArchKind::INVALID) return false; setAtomic(); CPU = Name; @@ -566,7 +568,7 @@ void ARMTargetInfo::getTargetDefines(const LangOptions &Opts, // __ARM_ARCH_ISA_ARM is defined to 1 if the core supports the ARM ISA. It // is not defined for the M-profile. // NOTE that the default profile is assumed to be 'A' - if (CPUProfile.empty() || ArchProfile != llvm::ARM::PK_M) + if (CPUProfile.empty() || ArchProfile != llvm::ARM::ProfileKind::M) Builder.defineMacro("__ARM_ARCH_ISA_ARM", "1"); // __ARM_ARCH_ISA_THUMB is defined to 1 if the core supports the original @@ -638,7 +640,7 @@ void ARMTargetInfo::getTargetDefines(const LangOptions &Opts, if (SoftFloat) Builder.defineMacro("__SOFTFP__"); - if (ArchKind == llvm::ARM::AK_XSCALE) + if (ArchKind == llvm::ARM::ArchKind::XSCALE) Builder.defineMacro("__XSCALE__"); if (isThumb()) { @@ -720,10 +722,10 @@ void ARMTargetInfo::getTargetDefines(const LangOptions &Opts, switch (ArchKind) { default: break; - case llvm::ARM::AK_ARMV8_1A: + case llvm::ARM::ArchKind::ARMV8_1A: getTargetDefinesARMV81A(Opts, Builder); break; - case llvm::ARM::AK_ARMV8_2A: + case llvm::ARM::ArchKind::ARMV8_2A: getTargetDefinesARMV82A(Opts, Builder); break; } diff --git a/clang/lib/Basic/Targets/ARM.h b/clang/lib/Basic/Targets/ARM.h index 2f52df776c4..232b23cd2a7 100644 --- a/clang/lib/Basic/Targets/ARM.h +++ b/clang/lib/Basic/Targets/ARM.h @@ -51,9 +51,9 @@ class LLVM_LIBRARY_VISIBILITY ARMTargetInfo : public TargetInfo { enum { FP_Default, FP_VFP, FP_Neon } FPMath; - unsigned ArchISA; - unsigned ArchKind = llvm::ARM::AK_ARMV4T; - unsigned ArchProfile; + llvm::ARM::ISAKind ArchISA; + llvm::ARM::ArchKind ArchKind = llvm::ARM::ArchKind::ARMV4T; + llvm::ARM::ProfileKind ArchProfile; unsigned ArchVersion; unsigned FPU : 5; @@ -93,7 +93,7 @@ class LLVM_LIBRARY_VISIBILITY ARMTargetInfo : public TargetInfo { void setABIAPCS(bool IsAAPCS16); void setArchInfo(); - void setArchInfo(unsigned Kind); + void setArchInfo(llvm::ARM::ArchKind Kind); void setAtomic(); |

