[PATCH] Use the integrated assembler by default on PowerPC and SPARC

Brad Smith brad at comstyle.com
Mon Jan 5 16:17:43 PST 2015


On Fri, Jan 02, 2015 at 10:33:27PM -0500, Brad Smith wrote:
> Use the integrated assembler by default on PowerPC and SPARC.

Correct the gcc_forward test that was failing.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

-------------- next part --------------
Index: lib/Driver/ToolChains.cpp
===================================================================
--- lib/Driver/ToolChains.cpp	(revision 225223)
+++ lib/Driver/ToolChains.cpp	(working copy)
@@ -2067,8 +2067,11 @@
          getTriple().getArch() == llvm::Triple::armeb ||
          getTriple().getArch() == llvm::Triple::thumb ||
          getTriple().getArch() == llvm::Triple::thumbeb ||
+         getTriple().getArch() == llvm::Triple::ppc ||
          getTriple().getArch() == llvm::Triple::ppc64 ||
          getTriple().getArch() == llvm::Triple::ppc64le ||
+         getTriple().getArch() == llvm::Triple::sparc ||
+         getTriple().getArch() == llvm::Triple::sparcv9 ||
          getTriple().getArch() == llvm::Triple::systemz;
 }
 
Index: lib/Driver/ToolChains.h
===================================================================
--- lib/Driver/ToolChains.h	(revision 225223)
+++ lib/Driver/ToolChains.h	(working copy)
@@ -534,17 +534,6 @@
     return 2;
   }
 
-  virtual bool IsIntegratedAssemblerDefault() const override {
-    switch (getTriple().getArch()) {
-    case llvm::Triple::ppc:
-    case llvm::Triple::sparc:
-    case llvm::Triple::sparcv9:
-      return true;
-    default:
-      return Generic_ELF::IsIntegratedAssemblerDefault();
-    }
-  }
-
 protected:
   Tool *buildAssembler() const override;
   Tool *buildLinker() const override;
@@ -586,14 +575,6 @@
   void
   AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs,
                                llvm::opt::ArgStringList &CC1Args) const override;
-  bool IsIntegratedAssemblerDefault() const override {
-    switch (getTriple().getArch()) {
-    case llvm::Triple::ppc:
-      return true;
-    default:
-      return Generic_ELF::IsIntegratedAssemblerDefault();
-    }
-  }
 
   bool UseSjLjExceptions() const override;
   bool isPIEDefault() const override;
@@ -618,14 +599,6 @@
   bool IsUnwindTablesDefault() const override {
     return true;
   }
-  bool IsIntegratedAssemblerDefault() const override {
-    switch (getTriple().getArch()) {
-    case llvm::Triple::ppc:
-      return true;
-    default:
-      return Generic_ELF::IsIntegratedAssemblerDefault();
-    }
-  }
 
 protected:
   Tool *buildAssembler() const override;
Index: test/Driver/freebsd.c
===================================================================
--- test/Driver/freebsd.c	(revision 225223)
+++ test/Driver/freebsd.c	(working copy)
@@ -128,11 +128,11 @@
 // RUN:   | FileCheck --check-prefix=CHECK-LTO %s
 // CHECK-LTO: ld{{.*}}" "-plugin{{.*}}LLVMgold.so
 
-// RUN: %clang -target sparc-unknown-freebsd8 %s -### -fpic 2>&1 \
+// RUN: %clang -target sparc-unknown-freebsd8 %s -### -fpic -no-integrated-as 2>&1 \
 // RUN:   | FileCheck --check-prefix=CHECK-SPARC-PIE %s
 // CHECK-SPARC-PIE: as{{.*}}" "-KPIC
 
-// RUN: %clang -mcpu=ultrasparc -target sparc64-unknown-freebsd8 %s -### 2>&1 \
+// RUN: %clang -mcpu=ultrasparc -target sparc64-unknown-freebsd8 %s -### -no-integrated-as 2>&1 \
 // RUN:   | FileCheck --check-prefix=CHECK-SPARC-CPU %s
 // CHECK-SPARC-CPU: cc1{{.*}}" "-target-cpu" "ultrasparc"
 // CHECK-SPARC-CPU: as{{.*}}" "-Av9a
Index: test/Driver/gcc_forward.c
===================================================================
--- test/Driver/gcc_forward.c	(revision 225223)
+++ test/Driver/gcc_forward.c	(working copy)
@@ -11,10 +11,6 @@
 //
 // clang-cc1
 // CHECK: "-Wall" "-Wdocumentation"
-// CHECK: "-o" "{{[^"]+}}.s"
-//
-// gnu-as
-// CHECK: as{{[^"]*}}"
 // CHECK: "-o" "{{[^"]+}}.o"
 //
 // gcc-ld
Index: test/Driver/unknown-gcc-arch.c
===================================================================
--- test/Driver/unknown-gcc-arch.c	(revision 225223)
+++ test/Driver/unknown-gcc-arch.c	(working copy)
@@ -24,11 +24,11 @@
 
 
 // RUN: %clang -target powerpc64-unknown-unknown -c -x assembler %s -### -m32 \
-// RUN: 2>&1 | FileCheck -check-prefix=PPC64-M32 %s
+// RUN: -no-integrated-as 2>&1 | FileCheck -check-prefix=PPC64-M32 %s
 // PPC64-M32: {{.*as.*-a32}}
 
 // RUN: %clang -target powerpc-unknown-unknown -c -x assembler %s -### 2>&1 \
-// RUN:   | FileCheck -check-prefix=PPC %s
+// RUN: -no-integrated-as | FileCheck -check-prefix=PPC %s
 // PPC: {{.*as.*-a32}}
 
 // RUN: %clang -target sparc64-unknown-unknown -no-integrated-as -c -x assembler %s -### -m32 2>&1 \


More information about the cfe-commits mailing list