https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/147652
This doesn't yet attempt to move the OS dependent configuration shared with other targets. Removes __riscv_flush_icache from the default set so it's no longer falsely reported as available for other targets. >From 7f81f8623096c20c6961a881dd1fcc59cebb9ec4 Mon Sep 17 00:00:00 2001 From: Matt Arsenault <matthew.arsena...@amd.com> Date: Wed, 9 Jul 2025 14:11:25 +0900 Subject: [PATCH] RISCV: Start moving runtime libcall config to tablegen This doesn't yet attempt to move the OS dependent configuration shared with other targets. Removes __riscv_flush_icache from the default set so it's no longer falsely reported as available for other targets. --- llvm/include/llvm/IR/RuntimeLibcalls.td | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/llvm/include/llvm/IR/RuntimeLibcalls.td b/llvm/include/llvm/IR/RuntimeLibcalls.td index ee4892ee186cd..fabfaf89b5aa0 100644 --- a/llvm/include/llvm/IR/RuntimeLibcalls.td +++ b/llvm/include/llvm/IR/RuntimeLibcalls.td @@ -668,7 +668,6 @@ def __llvm_deoptimize : RuntimeLibcallImpl<DEOPTIMIZE>; // Clear cache def __clear_cache : RuntimeLibcallImpl<CLEAR_CACHE>; -def __riscv_flush_icache : RuntimeLibcallImpl<RISCV_FLUSH_ICACHE>; //-------------------------------------------------------------------- // libm @@ -928,6 +927,8 @@ def bzero : RuntimeLibcallImpl<BZERO>; def __bzero : RuntimeLibcallImpl<BZERO>; def _Unwind_SjLj_Resume : RuntimeLibcallImpl<UNWIND_RESUME>; +def __riscv_flush_icache : RuntimeLibcallImpl<RISCV_FLUSH_ICACHE>; + //===----------------------------------------------------------------------===// // F128 libm Runtime Libcalls //===----------------------------------------------------------------------===// @@ -1846,6 +1847,18 @@ def PPCSystemLibrary AvailableIf<memcpy, isNotAIX>, LibcallImpls<(add Int128RTLibcalls), isPPC64>)>; +//===----------------------------------------------------------------------===// +// RISCV Runtime Libcalls +//===----------------------------------------------------------------------===// + +def isRISCV : RuntimeLibcallPredicate<"TT.isRISCV()">; +def isRISCV64 : RuntimeLibcallPredicate<"TT.isRISCV64()">; + +def RISCVSystemLibrary + : SystemRuntimeLibrary<isRISCV, + (add DefaultRuntimeLibcallImpls, __riscv_flush_icache, + LibcallImpls<(add Int128RTLibcalls), isRISCV64>)>; + //===----------------------------------------------------------------------===// // SPARC Runtime Libcalls //===----------------------------------------------------------------------===// _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits