Skip to content

Commit 03ee6b6

Browse files
[IR] Remove COPYSIGN_F{32,64,80,128} from runtime libcalls
This reduces the burden on frontends that wish to support float ops without needing a C compiler to build LLVM's compiler-rt for that target, e.g. so that they can be a fully self-contained toolchain for bare-metal. Unfortunately, we have to leave the PowerPC copysignl behind.
1 parent ac9ebe6 commit 03ee6b6

File tree

4 files changed

+0
-11
lines changed

4 files changed

+0
-11
lines changed

llvm/include/llvm/IR/RuntimeLibcalls.def

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -289,10 +289,6 @@ HANDLE_LIBCALL(FLOOR_F64, "floor")
289289
HANDLE_LIBCALL(FLOOR_F80, "floorl")
290290
HANDLE_LIBCALL(FLOOR_F128, "floorl")
291291
HANDLE_LIBCALL(FLOOR_PPCF128, "floorl")
292-
HANDLE_LIBCALL(COPYSIGN_F32, "copysignf")
293-
HANDLE_LIBCALL(COPYSIGN_F64, "copysign")
294-
HANDLE_LIBCALL(COPYSIGN_F80, "copysignl")
295-
HANDLE_LIBCALL(COPYSIGN_F128, "copysignl")
296292
HANDLE_LIBCALL(COPYSIGN_PPCF128, "copysignl")
297293
HANDLE_LIBCALL(FMIN_F32, "fminf")
298294
HANDLE_LIBCALL(FMIN_F64, "fmin")

llvm/lib/IR/RuntimeLibcalls.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ void RuntimeLibcallsInfo::initLibcalls(const Triple &TT) {
6262
setLibcallName(RTLIB::ROUND_F128, "roundf128");
6363
setLibcallName(RTLIB::ROUNDEVEN_F128, "roundevenf128");
6464
setLibcallName(RTLIB::FLOOR_F128, "floorf128");
65-
setLibcallName(RTLIB::COPYSIGN_F128, "copysignf128");
6665
setLibcallName(RTLIB::FMIN_F128, "fminf128");
6766
setLibcallName(RTLIB::FMAX_F128, "fmaxf128");
6867
setLibcallName(RTLIB::LROUND_F128, "lroundf128");

llvm/lib/Target/SystemZ/ZOSLibcallNames.def

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,6 @@ HANDLE_LIBCALL(EXP2_F128, "@@LXP2@B")
8787
HANDLE_LIBCALL(COS_F64, "@@SCOS@B")
8888
HANDLE_LIBCALL(COS_F32, "@@FCOS@B")
8989
HANDLE_LIBCALL(COS_F128, "@@LCOS@B")
90-
HANDLE_LIBCALL(COPYSIGN_F64, "@@DCPY@B")
91-
HANDLE_LIBCALL(COPYSIGN_F32, "@@FCPY@B")
92-
HANDLE_LIBCALL(COPYSIGN_F128, "@@LCPY@B")
9390
HANDLE_LIBCALL(CEIL_F64, "@@SCEL@B")
9491
HANDLE_LIBCALL(CEIL_F32, "@@FCEL@B")
9592
HANDLE_LIBCALL(CEIL_F128, "@@LCEL@B")

llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -264,9 +264,6 @@ struct RuntimeLibcallSignatureTable {
264264
Table[RTLIB::FLOOR_F32] = f32_func_f32;
265265
Table[RTLIB::FLOOR_F64] = f64_func_f64;
266266
Table[RTLIB::FLOOR_F128] = i64_i64_func_i64_i64;
267-
Table[RTLIB::COPYSIGN_F32] = f32_func_f32_f32;
268-
Table[RTLIB::COPYSIGN_F64] = f64_func_f64_f64;
269-
Table[RTLIB::COPYSIGN_F128] = i64_i64_func_i64_i64_i64_i64;
270267
Table[RTLIB::FMIN_F32] = f32_func_f32_f32;
271268
Table[RTLIB::FMIN_F64] = f64_func_f64_f64;
272269
Table[RTLIB::FMIN_F128] = i64_i64_func_i64_i64_i64_i64;

0 commit comments

Comments
 (0)