Skip to content

Commit 15254eb

Browse files
authored
[Driver] Clean up unused architecture related bits for *BSD's (#69809)
- 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. - Remove sparc64 IAS test as support was enabled across the board awhile ago.
1 parent f7de498 commit 15254eb

File tree

5 files changed

+6
-23
lines changed

5 files changed

+6
-23
lines changed

clang/lib/Basic/Targets.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -247,12 +247,8 @@ std::unique_ptr<TargetInfo> AllocateTarget(const llvm::Triple &Triple,
247247
switch (os) {
248248
case llvm::Triple::Linux:
249249
return std::make_unique<LinuxTargetInfo<ARMbeTargetInfo>>(Triple, Opts);
250-
case llvm::Triple::FreeBSD:
251-
return std::make_unique<FreeBSDTargetInfo<ARMbeTargetInfo>>(Triple, Opts);
252250
case llvm::Triple::NetBSD:
253251
return std::make_unique<NetBSDTargetInfo<ARMbeTargetInfo>>(Triple, Opts);
254-
case llvm::Triple::OpenBSD:
255-
return std::make_unique<OpenBSDTargetInfo<ARMbeTargetInfo>>(Triple, Opts);
256252
case llvm::Triple::RTEMS:
257253
return std::make_unique<RTEMSTargetInfo<ARMbeTargetInfo>>(Triple, Opts);
258254
case llvm::Triple::NaCl:
@@ -487,15 +483,11 @@ std::unique_ptr<TargetInfo> AllocateTarget(const llvm::Triple &Triple,
487483
return std::make_unique<SparcV8TargetInfo>(Triple, Opts);
488484
}
489485

490-
// The 'sparcel' architecture copies all the above cases except for Solaris.
491486
case llvm::Triple::sparcel:
492487
switch (os) {
493488
case llvm::Triple::Linux:
494489
return std::make_unique<LinuxTargetInfo<SparcV8elTargetInfo>>(Triple,
495490
Opts);
496-
case llvm::Triple::NetBSD:
497-
return std::make_unique<NetBSDTargetInfo<SparcV8elTargetInfo>>(Triple,
498-
Opts);
499491
case llvm::Triple::RTEMS:
500492
return std::make_unique<RTEMSTargetInfo<SparcV8elTargetInfo>>(Triple,
501493
Opts);

clang/lib/Driver/ToolChains/FreeBSD.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,6 @@ void freebsd::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
8888
CmdArgs.push_back("-meabi=5");
8989
break;
9090
}
91-
case llvm::Triple::sparc:
92-
case llvm::Triple::sparcel:
9391
case llvm::Triple::sparcv9: {
9492
std::string CPU = getCPUName(D, Args, getToolChain().getTriple());
9593
CmdArgs.push_back(
@@ -167,7 +165,7 @@ void freebsd::Linker::ConstructJob(Compilation &C, const JobAction &JA,
167165
CmdArgs.push_back("/libexec/ld-elf.so.1");
168166
}
169167
const llvm::Triple &T = ToolChain.getTriple();
170-
if (Arch == llvm::Triple::arm || Arch == llvm::Triple::sparc || T.isX86())
168+
if (Arch == llvm::Triple::arm || T.isX86())
171169
CmdArgs.push_back("--hash-style=both");
172170
CmdArgs.push_back("--enable-new-dtags");
173171
}

clang/lib/Driver/ToolChains/NetBSD.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,7 @@ void netbsd::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
7777
break;
7878
}
7979

80-
case llvm::Triple::sparc:
81-
case llvm::Triple::sparcel: {
80+
case llvm::Triple::sparc: {
8281
CmdArgs.push_back("-32");
8382
std::string CPU = getCPUName(D, Args, Triple);
8483
CmdArgs.push_back(sparc::getSparcAsmModeForCPU(CPU, Triple));

clang/lib/Driver/ToolChains/OpenBSD.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ void openbsd::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
4545
CmdArgs.push_back("--32");
4646
break;
4747

48-
case llvm::Triple::arm:
49-
case llvm::Triple::armeb: {
48+
case llvm::Triple::arm: {
5049
StringRef MArch, MCPU;
5150
arm::getARMArchCPUFromArgs(Args, MArch, MCPU, /*FromAs*/ true);
5251
std::string Arch = arm::getARMTargetCPU(MCPU, MArch, Triple);

clang/test/Driver/freebsd.c

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -163,9 +163,9 @@
163163
// CHECK-ARM-EABIHF-NOT: as{{.*}}" "-mfpu=softvfp"
164164
// CHECK-ARM-EABIHF-NOT: as{{.*}}" "-matpcs"
165165

166-
// RUN: %clang --target=sparc-unknown-freebsd -### %s -fpic -no-integrated-as 2>&1 \
167-
// RUN: | FileCheck --check-prefix=CHECK-SPARC-PIE %s
168-
// CHECK-SPARC-PIE: as{{.*}}" "-KPIC
166+
// RUN: %clang --target=sparc64-unknown-freebsd -### %s -fpic -no-integrated-as 2>&1 \
167+
// RUN: | FileCheck --check-prefix=CHECK-SPARC-PIC %s
168+
// CHECK-SPARC-PIC: as{{.*}}" "-KPIC
169169

170170
// RUN: %clang -mcpu=ultrasparc --target=sparc64-unknown-freebsd -### %s -no-integrated-as 2>&1 \
171171
// RUN: | FileCheck --check-prefix=CHECK-SPARC-CPU %s
@@ -191,11 +191,6 @@
191191
// RUN: | FileCheck -check-prefix=CHECK-MIPS64-CPU %s
192192
// CHECK-MIPS64-CPU: "-target-cpu" "mips3"
193193

194-
// Check that the integrated assembler is enabled for SPARC64
195-
// RUN: %clang --target=sparc64-unknown-freebsd -### -c %s 2>&1 \
196-
// RUN: | FileCheck -check-prefix=CHECK-IAS %s
197-
// CHECK-IAS-NOT: "-no-integrated-as"
198-
199194
// RUN: %clang --target=ppc64-unknown-freebsd13.0 -### -S %s 2>&1 | \
200195
// RUN: FileCheck -check-prefix=PPC64-MUNWIND %s
201196
// PPC64-MUNWIND: "-funwind-tables=2"

0 commit comments

Comments
 (0)