RuntimeLibcalls: Avoid adding f80 calls to default set#147658
Merged
Conversation
This was referenced Jul 9, 2025
Contributor
Author
Member
|
@llvm/pr-subscribers-llvm-ir @llvm/pr-subscribers-backend-hexagon Author: Matt Arsenault (arsenm) ChangesStarts adding a stub X86 configuration which doesn't attempt Full diff: https://github.com/llvm/llvm-project/pull/147658.diff 1 Files Affected:
diff --git a/llvm/include/llvm/IR/RuntimeLibcalls.td b/llvm/include/llvm/IR/RuntimeLibcalls.td
index c9eda9110a9ef..c9058d3e38c04 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 =
@@ -1929,6 +1935,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
//===----------------------------------------------------------------------===//
|
RKSimon
approved these changes
Jul 9, 2025
5b51c68 to
e0d9420
Compare
1391d1f to
5bb63ef
Compare
e0d9420 to
7f46a81
Compare
5bb63ef to
4b3e950
Compare
Contributor
Author
7f46a81 to
dc19ced
Compare
Base automatically changed from
users/arsenm/runtime-libcalls/only-add-ppcf128-calls-ppc
to
main
July 13, 2025 01:55
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.
4b3e950 to
463145c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

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.