From 0aa050fbf2b02f5c2dfd29c7b0694f39623c2fa1 Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Mon, 5 Jan 2015 23:31:42 +0000 Subject: 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/ llvm-svn: 225221 --- clang/lib/Driver/ToolChains.cpp | 3 --- clang/lib/Driver/ToolChains.h | 27 +++++++++++++++++++++++++++ clang/test/Driver/freebsd.c | 4 ++-- clang/test/Driver/unknown-gcc-arch.c | 4 ++-- 4 files changed, 31 insertions(+), 7 deletions(-) diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index 4d97ab3bf48..99f4c9dfea7 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/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/clang/lib/Driver/ToolChains.h b/clang/lib/Driver/ToolChains.h index c9658c43a8b..876bb01f33a 100644 --- a/clang/lib/Driver/ToolChains.h +++ b/clang/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/clang/test/Driver/freebsd.c b/clang/test/Driver/freebsd.c index a7448c11bfe..0c04fd2309c 100644 --- a/clang/test/Driver/freebsd.c +++ b/clang/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/clang/test/Driver/unknown-gcc-arch.c b/clang/test/Driver/unknown-gcc-arch.c index 2aba50d5320..9e687b76a44 100644 --- a/clang/test/Driver/unknown-gcc-arch.c +++ b/clang/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 \ -- cgit v1.2.3