[llvm-branch-commits] [llvm] Lanai: Use TableGen to set libcall calling conventions (PR #146080)
Matt Arsenault via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Jul 7 02:46:12 PDT 2025
https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/146080
>From a492a7e695c2f543b6caba066f5d8beb4272b8cf Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Mon, 23 Jun 2025 16:17:26 +0900
Subject: [PATCH] Lanai: Use TableGen to set libcall calling conventions
---
llvm/include/llvm/IR/RuntimeLibcalls.td | 12 ++++++++++++
llvm/lib/Target/Lanai/LanaiISelLowering.cpp | 4 ----
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/llvm/include/llvm/IR/RuntimeLibcalls.td b/llvm/include/llvm/IR/RuntimeLibcalls.td
index f8667269ec8cb..c15ffa0653335 100644
--- a/llvm/include/llvm/IR/RuntimeLibcalls.td
+++ b/llvm/include/llvm/IR/RuntimeLibcalls.td
@@ -1389,6 +1389,18 @@ def __hexagon_fast2_sqrtdf2 : RuntimeLibcallImpl<SQRT_F64>;
def __hexagon_memcpy_likely_aligned_min32bytes_mult8bytes
: RuntimeLibcallImpl<HEXAGON_MEMCPY_LIKELY_ALIGNED_MIN32BYTES_MULT8BYTES>;
+//===----------------------------------------------------------------------===//
+// Lanai Runtime Libcalls
+//===----------------------------------------------------------------------===//
+
+def isLanai : RuntimeLibcallPredicate<"TT.getArch() == Triple::lanai">;
+
+// Use fast calling convention for library functions.
+def LanaiSystemLibrary
+ : SystemRuntimeLibrary<isLanai, (add DefaultRuntimeLibcallImpls)> {
+ let DefaultLibcallCallingConv = FASTCC;
+}
+
//===----------------------------------------------------------------------===//
// Mips16 Runtime Libcalls
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/Lanai/LanaiISelLowering.cpp b/llvm/lib/Target/Lanai/LanaiISelLowering.cpp
index 6fb73c5d18966..d23c5f43ad4ff 100644
--- a/llvm/lib/Target/Lanai/LanaiISelLowering.cpp
+++ b/llvm/lib/Target/Lanai/LanaiISelLowering.cpp
@@ -150,10 +150,6 @@ LanaiTargetLowering::LanaiTargetLowering(const TargetMachine &TM,
// statements. Re-evaluate this on new benchmarks.
setMinimumJumpTableEntries(100);
- // Use fast calling convention for library functions.
- for (RTLIB::LibcallImpl LC : RTLIB::libcall_impls())
- setLibcallImplCallingConv(LC, CallingConv::Fast);
-
MaxStoresPerMemset = 16; // For @llvm.memset -> sequence of stores
MaxStoresPerMemsetOptSize = 8;
MaxStoresPerMemcpy = 16; // For @llvm.memcpy -> sequence of stores
More information about the llvm-branch-commits
mailing list