https://github.com/brad0 updated https://github.com/llvm/llvm-project/pull/69809
>From d490fc90f49d83d7b5ec26086c59a3f512b552ba Mon Sep 17 00:00:00 2001 From: Brad Smith <b...@comstyle.com> Date: Thu, 5 Oct 2023 18:41:03 -0400 Subject: [PATCH] [Driver] Clean up unused architecture related bits for *BSD's - FreeBSD removed big-endian arm with 12.0. - OpenBSD never had big-endian arm support. I added it just in case, but it has never been used. - Remove sparcel bits. It was sprinkled in a few places but it will never be a thing. - Remove 32-bit sparc bits for FreeBSD. FreeBSD has never had 32-bit sparc support. --- clang/lib/Basic/Targets.cpp | 8 -------- clang/lib/Driver/ToolChains/FreeBSD.cpp | 4 +--- clang/lib/Driver/ToolChains/NetBSD.cpp | 3 +-- clang/lib/Driver/ToolChains/OpenBSD.cpp | 3 +-- clang/test/Driver/freebsd.c | 11 +++-------- 5 files changed, 6 insertions(+), 23 deletions(-) diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 8130f90a276749e..ea002bb464fcc58 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -247,12 +247,8 @@ std::unique_ptr<TargetInfo> AllocateTarget(const llvm::Triple &Triple, switch (os) { case llvm::Triple::Linux: return std::make_unique<LinuxTargetInfo<ARMbeTargetInfo>>(Triple, Opts); - case llvm::Triple::FreeBSD: - return std::make_unique<FreeBSDTargetInfo<ARMbeTargetInfo>>(Triple, Opts); case llvm::Triple::NetBSD: return std::make_unique<NetBSDTargetInfo<ARMbeTargetInfo>>(Triple, Opts); - case llvm::Triple::OpenBSD: - return std::make_unique<OpenBSDTargetInfo<ARMbeTargetInfo>>(Triple, Opts); case llvm::Triple::RTEMS: return std::make_unique<RTEMSTargetInfo<ARMbeTargetInfo>>(Triple, Opts); case llvm::Triple::NaCl: @@ -487,15 +483,11 @@ std::unique_ptr<TargetInfo> AllocateTarget(const llvm::Triple &Triple, return std::make_unique<SparcV8TargetInfo>(Triple, Opts); } - // The 'sparcel' architecture copies all the above cases except for Solaris. case llvm::Triple::sparcel: switch (os) { case llvm::Triple::Linux: return std::make_unique<LinuxTargetInfo<SparcV8elTargetInfo>>(Triple, Opts); - case llvm::Triple::NetBSD: - return std::make_unique<NetBSDTargetInfo<SparcV8elTargetInfo>>(Triple, - Opts); case llvm::Triple::RTEMS: return std::make_unique<RTEMSTargetInfo<SparcV8elTargetInfo>>(Triple, Opts); diff --git a/clang/lib/Driver/ToolChains/FreeBSD.cpp b/clang/lib/Driver/ToolChains/FreeBSD.cpp index 7a61159ba4a7308..f4c2f70e73576f6 100644 --- a/clang/lib/Driver/ToolChains/FreeBSD.cpp +++ b/clang/lib/Driver/ToolChains/FreeBSD.cpp @@ -88,8 +88,6 @@ void freebsd::Assembler::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("-meabi=5"); break; } - case llvm::Triple::sparc: - case llvm::Triple::sparcel: case llvm::Triple::sparcv9: { std::string CPU = getCPUName(D, Args, getToolChain().getTriple()); CmdArgs.push_back( @@ -167,7 +165,7 @@ void freebsd::Linker::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("/libexec/ld-elf.so.1"); } const llvm::Triple &T = ToolChain.getTriple(); - if (Arch == llvm::Triple::arm || Arch == llvm::Triple::sparc || T.isX86()) + if (Arch == llvm::Triple::arm || T.isX86()) CmdArgs.push_back("--hash-style=both"); CmdArgs.push_back("--enable-new-dtags"); } diff --git a/clang/lib/Driver/ToolChains/NetBSD.cpp b/clang/lib/Driver/ToolChains/NetBSD.cpp index 1c901f70f72ca2e..6267344d819d9a0 100644 --- a/clang/lib/Driver/ToolChains/NetBSD.cpp +++ b/clang/lib/Driver/ToolChains/NetBSD.cpp @@ -78,8 +78,7 @@ void netbsd::Assembler::ConstructJob(Compilation &C, const JobAction &JA, break; } - case llvm::Triple::sparc: - case llvm::Triple::sparcel: { + case llvm::Triple::sparc: { CmdArgs.push_back("-32"); std::string CPU = getCPUName(D, Args, Triple); CmdArgs.push_back(sparc::getSparcAsmModeForCPU(CPU, Triple)); diff --git a/clang/lib/Driver/ToolChains/OpenBSD.cpp b/clang/lib/Driver/ToolChains/OpenBSD.cpp index e874f245776c4fc..cefbdff20ead93f 100644 --- a/clang/lib/Driver/ToolChains/OpenBSD.cpp +++ b/clang/lib/Driver/ToolChains/OpenBSD.cpp @@ -45,8 +45,7 @@ void openbsd::Assembler::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("--32"); break; - case llvm::Triple::arm: - case llvm::Triple::armeb: { + case llvm::Triple::arm: { StringRef MArch, MCPU; arm::getARMArchCPUFromArgs(Args, MArch, MCPU, /*FromAs*/ true); std::string Arch = arm::getARMTargetCPU(MCPU, MArch, Triple); diff --git a/clang/test/Driver/freebsd.c b/clang/test/Driver/freebsd.c index afa0a17249851b3..e1ce8889459f974 100644 --- a/clang/test/Driver/freebsd.c +++ b/clang/test/Driver/freebsd.c @@ -163,9 +163,9 @@ // CHECK-ARM-EABIHF-NOT: as{{.*}}" "-mfpu=softvfp" // CHECK-ARM-EABIHF-NOT: as{{.*}}" "-matpcs" -// RUN: %clang --target=sparc-unknown-freebsd -### %s -fpic -no-integrated-as 2>&1 \ -// RUN: | FileCheck --check-prefix=CHECK-SPARC-PIE %s -// CHECK-SPARC-PIE: as{{.*}}" "-KPIC +// RUN: %clang --target=sparc64-unknown-freebsd -### %s -fpic -no-integrated-as 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-SPARC-PIC %s +// CHECK-SPARC-PIC: as{{.*}}" "-KPIC // RUN: %clang -mcpu=ultrasparc --target=sparc64-unknown-freebsd -### %s -no-integrated-as 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-SPARC-CPU %s @@ -191,11 +191,6 @@ // RUN: | FileCheck -check-prefix=CHECK-MIPS64-CPU %s // CHECK-MIPS64-CPU: "-target-cpu" "mips3" -// Check that the integrated assembler is enabled for SPARC64 -// RUN: %clang --target=sparc64-unknown-freebsd -### -c %s 2>&1 \ -// RUN: | FileCheck -check-prefix=CHECK-IAS %s -// CHECK-IAS-NOT: "-no-integrated-as" - // RUN: %clang --target=ppc64-unknown-freebsd13.0 -### -S %s 2>&1 | \ // RUN: FileCheck -check-prefix=PPC64-MUNWIND %s // PPC64-MUNWIND: "-funwind-tables=2" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits