From: Duncan P. N. Exon Smith Date: Mon, 5 Jan 2015 23:31:42 +0000 (+0000) Subject: Revert "Use the integrated assembler by default on 32-bit PowerPC and SPARC" X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=750c512a9f7661ceb01e995b53f796bfe9486356;p=clang Revert "Use the integrated assembler by default on 32-bit PowerPC and SPARC" This reverts commit r225212. It's failing on multiple buildbots [1][2]. [1]: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/22032 [2]: http://lab.llvm.org:8080/green/view/Clang/job/clang-stage1-cmake-RA-incremental_check/2357/ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225221 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp index 4d97ab3bf4..99f4c9dfea 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -2067,11 +2067,8 @@ bool Generic_GCC::IsIntegratedAssemblerDefault() const { 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; } diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h index c9658c43a8..876bb01f33 100644 --- a/lib/Driver/ToolChains.h +++ b/lib/Driver/ToolChains.h @@ -534,6 +534,17 @@ public: 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; @@ -575,6 +586,14 @@ public: 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; @@ -599,6 +618,14 @@ public: 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; diff --git a/test/Driver/freebsd.c b/test/Driver/freebsd.c index a7448c11bf..0c04fd2309 100644 --- a/test/Driver/freebsd.c +++ b/test/Driver/freebsd.c @@ -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 -no-integrated-as 2>&1 \ +// RUN: %clang -target sparc-unknown-freebsd8 %s -### -fpic 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-SPARC-PIE %s // CHECK-SPARC-PIE: as{{.*}}" "-KPIC -// RUN: %clang -mcpu=ultrasparc -target sparc64-unknown-freebsd8 %s -### -no-integrated-as 2>&1 \ +// RUN: %clang -mcpu=ultrasparc -target sparc64-unknown-freebsd8 %s -### 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-SPARC-CPU %s // CHECK-SPARC-CPU: cc1{{.*}}" "-target-cpu" "ultrasparc" // CHECK-SPARC-CPU: as{{.*}}" "-Av9a diff --git a/test/Driver/unknown-gcc-arch.c b/test/Driver/unknown-gcc-arch.c index 2aba50d532..9e687b76a4 100644 --- a/test/Driver/unknown-gcc-arch.c +++ b/test/Driver/unknown-gcc-arch.c @@ -24,11 +24,11 @@ // RUN: %clang -target powerpc64-unknown-unknown -c -x assembler %s -### -m32 \ -// RUN: -no-integrated-as 2>&1 | FileCheck -check-prefix=PPC64-M32 %s +// RUN: 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: -no-integrated-as | FileCheck -check-prefix=PPC %s +// RUN: | FileCheck -check-prefix=PPC %s // PPC: {{.*as.*-a32}} // RUN: %clang -target sparc64-unknown-unknown -no-integrated-as -c -x assembler %s -### -m32 2>&1 \