Revert "[AArch64] Using new TargetParser in Clang"

This reverts commit r270688 and r270689. The issue is not a random order, but a
different order for some targets and others (prob. Linux vs Darwin). Reverting until
we have a better fix.

llvm-svn: 270691
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 059dd62a..4d06ebb 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -5665,10 +5665,14 @@
   }
 
   bool setCPU(const std::string &Name) override {
-    if (Name == "generic" || llvm::AArch64::parseCPUArch(Name) != llvm::ARM::AK_INVALID)
-      return true;
-
-    return false;
+    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;
   }
 
   void getTargetDefines(const LangOptions &Opts,