summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets/Mips.cpp
diff options
context:
space:
mode:
authorErich Keane <erich.keane@intel.com>2018-02-08 23:16:55 +0000
committerErich Keane <erich.keane@intel.com>2018-02-08 23:16:55 +0000
commite44bdb3f70918c67c99326e12f929e0466a20f9d (patch)
tree86ea268a8deeaed4bd51a4d6d912dd96c76eacd5 /clang/lib/Basic/Targets/Mips.cpp
parentd45879d8add0c2d831f89bc638f75e23b75e9a72 (diff)
downloadbcm5719-llvm-e44bdb3f70918c67c99326e12f929e0466a20f9d.tar.gz
bcm5719-llvm-e44bdb3f70918c67c99326e12f929e0466a20f9d.zip
Add Rest of Targets Support to ValidCPUList (enabling march notes)
A followup to: https://reviews.llvm.org/D42978 Most of the rest of the Targets were pretty rote, so this patch knocks them all out at once. Differential Revision: https://reviews.llvm.org/D43057 llvm-svn: 324676
Diffstat (limited to 'clang/lib/Basic/Targets/Mips.cpp')
-rw-r--r--clang/lib/Basic/Targets/Mips.cpp31
1 files changed, 12 insertions, 19 deletions
diff --git a/clang/lib/Basic/Targets/Mips.cpp b/clang/lib/Basic/Targets/Mips.cpp
index a8a1bcc3636..77fba482b66 100644
--- a/clang/lib/Basic/Targets/Mips.cpp
+++ b/clang/lib/Basic/Targets/Mips.cpp
@@ -44,26 +44,19 @@ bool MipsTargetInfo::processorSupportsGPR64() const {
return false;
}
+static constexpr llvm::StringLiteral ValidCPUNames[] = {
+ {"mips1"}, {"mips2"}, {"mips3"}, {"mips4"}, {"mips5"},
+ {"mips32"}, {"mips32r2"}, {"mips32r3"}, {"mips32r5"}, {"mips32r6"},
+ {"mips64"}, {"mips64r2"}, {"mips64r3"}, {"mips64r5"}, {"mips64r6"},
+ {"octeon"}, {"p5600"}};
+
bool MipsTargetInfo::isValidCPUName(StringRef Name) const {
- return llvm::StringSwitch<bool>(Name)
- .Case("mips1", true)
- .Case("mips2", true)
- .Case("mips3", true)
- .Case("mips4", true)
- .Case("mips5", true)
- .Case("mips32", true)
- .Case("mips32r2", true)
- .Case("mips32r3", true)
- .Case("mips32r5", true)
- .Case("mips32r6", true)
- .Case("mips64", true)
- .Case("mips64r2", true)
- .Case("mips64r3", true)
- .Case("mips64r5", true)
- .Case("mips64r6", true)
- .Case("octeon", true)
- .Case("p5600", true)
- .Default(false);
+ return llvm::find(ValidCPUNames, Name) != std::end(ValidCPUNames);
+}
+
+void MipsTargetInfo::fillValidCPUList(
+ SmallVectorImpl<StringRef> &Values) const {
+ Values.append(std::begin(ValidCPUNames), std::end(ValidCPUNames));
}
void MipsTargetInfo::getTargetDefines(const LangOptions &Opts,
OpenPOWER on IntegriCloud