[clang] 9145a3d - Revert "[AArch64] handle -Wa,-march="

Jian Cai via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 7 14:31:18 PDT 2021


Author: Jian Cai
Date: 2021-06-07T14:31:07-07:00
New Revision: 9145a3d4ab7eb05d9fb113b5392e8961df629b88

URL: https://github.com/llvm/llvm-project/commit/9145a3d4ab7eb05d9fb113b5392e8961df629b88
DIFF: https://github.com/llvm/llvm-project/commit/9145a3d4ab7eb05d9fb113b5392e8961df629b88.diff

LOG: Revert "[AArch64] handle -Wa,-march="

This reverts commit fd11a26d368c5a909fb88548fef2cee7a6c2c931.

Added: 
    

Modified: 
    clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    clang/lib/Driver/ToolChains/Arch/AArch64.h
    clang/lib/Driver/ToolChains/Clang.cpp

Removed: 
    clang/test/Driver/aarch64-target-as-march.s


################################################################################
diff  --git a/clang/lib/Driver/ToolChains/Arch/AArch64.cpp b/clang/lib/Driver/ToolChains/Arch/AArch64.cpp
index cb98d423ed2b0..503685ab533a0 100644
--- a/clang/lib/Driver/ToolChains/Arch/AArch64.cpp
+++ b/clang/lib/Driver/ToolChains/Arch/AArch64.cpp
@@ -185,20 +185,12 @@ getAArch64MicroArchFeaturesFromMcpu(const Driver &D, StringRef Mcpu,
 void aarch64::getAArch64TargetFeatures(const Driver &D,
                                        const llvm::Triple &Triple,
                                        const ArgList &Args,
-                                       std::vector<StringRef> &Features,
-                                       bool ForAS) {
+                                       std::vector<StringRef> &Features) {
   Arg *A;
   bool success = true;
   // Enable NEON by default.
   Features.push_back("+neon");
-  if (ForAS &&
-      (A = Args.getLastArg(options::OPT_Wa_COMMA, options::OPT_Xassembler))) {
-    llvm::StringRef WaMArch;
-    for (StringRef Value : A->getValues())
-      if (Value.startswith("-march="))
-        WaMArch = Value.substr(7);
-    success = getAArch64ArchFeaturesFromMarch(D, WaMArch, Args, Features);
-  } else if ((A = Args.getLastArg(options::OPT_march_EQ)))
+  if ((A = Args.getLastArg(options::OPT_march_EQ)))
     success = getAArch64ArchFeaturesFromMarch(D, A->getValue(), Args, Features);
   else if ((A = Args.getLastArg(options::OPT_mcpu_EQ)))
     success = getAArch64ArchFeaturesFromMcpu(D, A->getValue(), Args, Features);

diff  --git a/clang/lib/Driver/ToolChains/Arch/AArch64.h b/clang/lib/Driver/ToolChains/Arch/AArch64.h
index d47c402d4a42d..713af870d69fb 100644
--- a/clang/lib/Driver/ToolChains/Arch/AArch64.h
+++ b/clang/lib/Driver/ToolChains/Arch/AArch64.h
@@ -22,8 +22,7 @@ namespace aarch64 {
 
 void getAArch64TargetFeatures(const Driver &D, const llvm::Triple &Triple,
                               const llvm::opt::ArgList &Args,
-                              std::vector<llvm::StringRef> &Features,
-                              bool ForAS);
+                              std::vector<llvm::StringRef> &Features);
 
 std::string getAArch64TargetCPU(const llvm::opt::ArgList &Args,
                                 const llvm::Triple &Triple, llvm::opt::Arg *&A);

diff  --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 6fdd7e2dd21e7..a0e1208fd709c 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -344,7 +344,7 @@ static void getTargetFeatures(const Driver &D, const llvm::Triple &Triple,
   case llvm::Triple::aarch64:
   case llvm::Triple::aarch64_32:
   case llvm::Triple::aarch64_be:
-    aarch64::getAArch64TargetFeatures(D, Triple, Args, Features, ForAS);
+    aarch64::getAArch64TargetFeatures(D, Triple, Args, Features);
     break;
   case llvm::Triple::x86:
   case llvm::Triple::x86_64:

diff  --git a/clang/test/Driver/aarch64-target-as-march.s b/clang/test/Driver/aarch64-target-as-march.s
deleted file mode 100644
index a9301ade43351..0000000000000
--- a/clang/test/Driver/aarch64-target-as-march.s
+++ /dev/null
@@ -1,46 +0,0 @@
-/// These tests make sure that options passed to the assembler
-/// via -Wa or -Xassembler are applied correctly to assembler inputs.
-
-/// Does not apply to non assembly files
-// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=armv8.1-a \
-// RUN: %S/Inputs/wildcard1.c 2>&1 | FileCheck --check-prefix=TARGET-FEATURE-1 %s
-// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Xassembler -march=armv8.1-a \
-// RUN: %S/Inputs/wildcard1.c 2>&1 | FileCheck --check-prefix=TARGET-FEATURE-1 %s
-
-// TARGET-FEATURE-1-NOT: "-target-feature" "+v8.1a"
-
-/// Does apply to assembler input
-// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=armv8.2-a %s 2>&1 | \
-// RUN: FileCheck --check-prefix=TARGET-FEATURE-2 %s
-// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Xassembler -march=armv8.2-a %s 2>&1 | \
-// RUN: FileCheck --check-prefix=TARGET-FEATURE-2 %s
-
-// TARGET-FEATURE-2: "-target-feature" "+v8.2a"
-
-/// No unused argument warnings when there are multiple values
-// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=armv8.1-a -Wa,-march=armv8.2-a %s 2>&1 | \
-// RUN: FileCheck --check-prefix=UNUSED-WARNING %s
-
-// UNUSED-WARNING-NOT: warning: argument unused during compilation
-
-/// Last march to assembler wins
-// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=armv8.2-a -Wa,-march=armv8.1-a %s 2>&1 | \
-// RUN: FileCheck --check-prefix=MULTIPLE-VALUES %s
-// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=armv8.2-a,-march=armv8.1-a %s 2>&1 | \
-// RUN: FileCheck --check-prefix=MULTIPLE-VALUES %s
-// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Xassembler -march=armv8.2-a -Xassembler \
-// RUN: -march=armv8.1-a %s 2>&1 | FileCheck --check-prefix=MULTIPLE-VALUES %s
-
-// MULTIPLE-VALUES: "-target-feature" "+v8.1a
-// MULTIPLE-VALUES-NOT: "-target-feature" "+v8.2a
-
-/// march to compiler and assembler, we choose the one suited to the input file type
-// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=armv8.3-a -march=armv8.4-a %s 2>&1 | \
-// RUN: FileCheck --check-prefix=TARGET-FEATURE-3 %s
-// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=armv8.3-a -march=armv8.4-a \
-// RUN: %S/Inputs/wildcard1.c 2>&1 | FileCheck --check-prefix=TARGET-FEATURE-4 %s
-
-// TARGET-FEATURE-3: "-target-feature" "+v8.3a"
-// TARGET-FEATURE-3-NOT: "-target-feature" "+v8.4a"
-// TARGET-FEATURE-4: "-target-feature" "+v8.4a"
-// TARGET-FEATURE-4-NOT: "-target-feature" "+v8.3a"


        


More information about the cfe-commits mailing list