From e0d94201ca4c9c7f786c1d3c20f87e1236b7b4fc Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Wed, 9 Jul 2025 14:40:34 +0900 Subject: [PATCH] RuntimeLibcalls: Avoid adding ppcf128 calls to non-ppc targets Filter out PPCF128 calls from the default set, and only add them back to PPC. --- llvm/include/llvm/IR/RuntimeLibcalls.td | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/llvm/include/llvm/IR/RuntimeLibcalls.td b/llvm/include/llvm/IR/RuntimeLibcalls.td index 8e903224b1972..8262832174dd4 100644 --- a/llvm/include/llvm/IR/RuntimeLibcalls.td +++ b/llvm/include/llvm/IR/RuntimeLibcalls.td @@ -1012,15 +1012,21 @@ defvar CompilerRTOnlyInt128Libcalls = [ __mulodi4 ]; -defvar DefaultRuntimeLibcallImpls = - !listremove(!listremove(AllDefaultRuntimeLibcallImpls, - Int128RTLibcalls), - CompilerRTOnlyInt128Libcalls); +defvar DefaultRuntimeLibcallImpls_ppcf128 = + !filter(entry, AllDefaultRuntimeLibcallImpls, + !match(!cast(entry.Provides), "PPCF128")); defvar DefaultRuntimeLibcallImpls_f128 = - !filter(entry, DefaultRuntimeLibcallImpls, + !filter(entry, AllDefaultRuntimeLibcallImpls, !match(!cast(entry.Provides), "_F128")); +defvar DefaultRuntimeLibcallImpls = + !listremove( + !listremove( + !listremove(AllDefaultRuntimeLibcallImpls, Int128RTLibcalls), + CompilerRTOnlyInt128Libcalls), + DefaultRuntimeLibcallImpls_ppcf128); + defvar DefaultRuntimeLibcallImpls_atomic = !filter(entry, DefaultRuntimeLibcallImpls, !match(!cast(entry.Provides), "ATOMIC")); @@ -1841,6 +1847,7 @@ def PPCSystemLibrary (sub DefaultRuntimeLibcallImpls, memcpy, DefaultRuntimeLibcallImpls_f128), __extendkftf2, __trunctfkf2, + DefaultRuntimeLibcallImpls_ppcf128, LibmF128Libcalls, AIX32Calls, AIX64Calls, AvailableIf, LibcallImpls<(add Int128RTLibcalls), isPPC64>)>;