https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/146080
>From 2bbe9b30d0de30e7acf524518241724f1df3e9d1 Mon Sep 17 00:00:00 2001 From: Matt Arsenault <matthew.arsena...@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 80001051d9281..513cfdf3be462 100644 --- a/llvm/include/llvm/IR/RuntimeLibcalls.td +++ b/llvm/include/llvm/IR/RuntimeLibcalls.td @@ -1383,6 +1383,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 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits