[llvm-branch-commits] [llvm] RuntimeLibcalls: Avoid adding f80 calls to default set (PR #147658)
Matt Arsenault via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Jul 9 01:22:29 PDT 2025
https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/147658
>From 5bb63ef12c9c660d35ff90779ad89c6658b69be3 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Wed, 9 Jul 2025 15:08:20 +0900
Subject: [PATCH] RuntimeLibcalls: Avoid adding f80 calls to default set
Starts adding a stub X86 configuration which doesn't attempt
the system specific pieces yet. This is mostly to have a point
to add back in the f80 calls so they can be removed from every
other target.
---
llvm/include/llvm/IR/RuntimeLibcalls.td | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/llvm/include/llvm/IR/RuntimeLibcalls.td b/llvm/include/llvm/IR/RuntimeLibcalls.td
index 8262832174dd4..9a9eddd36f130 100644
--- a/llvm/include/llvm/IR/RuntimeLibcalls.td
+++ b/llvm/include/llvm/IR/RuntimeLibcalls.td
@@ -1012,6 +1012,10 @@ defvar CompilerRTOnlyInt128Libcalls = [
__mulodi4
];
+defvar DefaultRuntimeLibcallImpls_f80 =
+ !filter(entry, AllDefaultRuntimeLibcallImpls,
+ !match(!cast<string>(entry.Provides), "F80"));
+
defvar DefaultRuntimeLibcallImpls_ppcf128 =
!filter(entry, AllDefaultRuntimeLibcallImpls,
!match(!cast<string>(entry.Provides), "PPCF128"));
@@ -1021,10 +1025,12 @@ defvar DefaultRuntimeLibcallImpls_f128 =
!match(!cast<string>(entry.Provides), "_F128"));
defvar DefaultRuntimeLibcallImpls =
+!listremove(
!listremove(
!listremove(
!listremove(AllDefaultRuntimeLibcallImpls, Int128RTLibcalls),
CompilerRTOnlyInt128Libcalls),
+ DefaultRuntimeLibcallImpls_f80),
DefaultRuntimeLibcallImpls_ppcf128);
defvar DefaultRuntimeLibcallImpls_atomic =
@@ -1927,6 +1933,21 @@ def _allrem : RuntimeLibcallImpl<SREM_I64>;
def _aullrem : RuntimeLibcallImpl<UREM_I64>;
def _allmul : RuntimeLibcallImpl<MUL_I64>;
+//===----------------------------------------------------------------------===//
+// X86 Runtime Libcalls
+//===----------------------------------------------------------------------===//
+
+def isX86_32 : RuntimeLibcallPredicate<"TT.getArch() == Triple::x86">;
+def isX86_64 : RuntimeLibcallPredicate<"TT.getArch() == Triple::x86_64">;
+
+def X86_32SystemLibrary
+ : SystemRuntimeLibrary<isX86_32,
+ (add DefaultLibcallImpls32, DefaultRuntimeLibcallImpls_f80)>;
+
+def X86_64SystemLibrary
+ : SystemRuntimeLibrary<isX86_64,
+ (add DefaultLibcallImpls64, DefaultRuntimeLibcallImpls_f80)>;
+
//===----------------------------------------------------------------------===//
// XCore Runtime Libcalls
//===----------------------------------------------------------------------===//
More information about the llvm-branch-commits
mailing list