[PATCH] D20088: Using AArch64TargetParser in clang

jojo.ma via cfe-commits cfe-commits at lists.llvm.org
Sun May 22 23:12:02 PDT 2016


jojo added inline comments.

================
Comment at: lib/Driver/Tools.cpp:707
@@ -696,3 +706,3 @@
   std::string MArch = arm::getARMArch(ArchName, Triple);
-  if (llvm::ARM::parseArch(MArch) == llvm::ARM::AK_INVALID ||
+  if (!checkARMArchValid(MArch) || llvm::ARM::parseArch(MArch) == llvm::ARM::AK_INVALID ||
       (Split.second.size() && !DecodeARMFeatures(D, Split.second, Features)))
----------------
bsmith wrote:
> Why do we need the call to checkARMArchValid here? Isn't is sufficient that parseArch returns a valid architecture?
Let the TargetParser return correct result.Remove this in the next patchset.

================
Comment at: lib/Driver/Tools.cpp:2280
@@ -2276,12 +2279,3 @@
 
-  if (Split.first == "armv8-a" || Split.first == "armv8a") {
-    // ok, no additional features.
-  } else if (Split.first == "armv8.1-a" || Split.first == "armv8.1a") {
-    Features.push_back("+v8.1a");
-  } else if (Split.first == "armv8.2-a" || Split.first == "armv8.2a" ) {
-    Features.push_back("+v8.2a");
-  } else {
-    return false;
-  }
-
-  if (Split.second.size() && !DecodeAArch64Features(D, Split.second, Features))
+  if (!checkAArch64ArchValid(Split.first) || llvm::AArch64::parseArch(Split.first, Features) == llvm::ARM::AK_INVALID ||
+	  (Split.second.size() && !DecodeAArch64Features(D, Split.second, Features)))
----------------
bsmith wrote:
> Same here, why do we need checkAArch64ArchValid?
Same as above.


Repository:
  rL LLVM

http://reviews.llvm.org/D20088





More information about the cfe-commits mailing list