summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
diff options
context:
space:
mode:
authorRenato Golin <renato.golin@linaro.org>2016-05-25 12:02:58 +0000
committerRenato Golin <renato.golin@linaro.org>2016-05-25 12:02:58 +0000
commitd4d4da74a698588f12e885989175cccf97a5633e (patch)
tree1d9c5fe30135f19913deba3342d3df9b0d3637c0 /clang/lib/Basic/Targets.cpp
parentdfc5d1ffab67814c2e78bf95477473c2a7844815 (diff)
downloadbcm5719-llvm-d4d4da74a698588f12e885989175cccf97a5633e.tar.gz
bcm5719-llvm-d4d4da74a698588f12e885989175cccf97a5633e.zip
[AArch64] Using new TargetParser in Clang
Using AArch64TargetParser in clang to avoid repetitive string parsing. Use TargetParser to do ARCH/CPU/ArchExt parsing instead of local implementation. Patch by Jojo Ma. llvm-svn: 270688
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r--clang/lib/Basic/Targets.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 4d06ebb724b..059dd62aea1 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -5665,14 +5665,10 @@ public:
}
bool setCPU(const std::string &Name) override {
- bool CPUKnown = llvm::StringSwitch<bool>(Name)
- .Case("generic", true)
- .Cases("cortex-a53", "cortex-a57", "cortex-a72",
- "cortex-a35", "exynos-m1", true)
- .Case("cyclone", true)
- .Case("kryo", true)
- .Default(false);
- return CPUKnown;
+ if (Name == "generic" || llvm::AArch64::parseCPUArch(Name) != llvm::ARM::AK_INVALID)
+ return true;
+
+ return false;
}
void getTargetDefines(const LangOptions &Opts,
OpenPOWER on IntegriCloud