[libc-commits] [PATCH] D127571: Initiating a RISC-V port of llvm-libc
Ivan Serdyuk via Phabricator via libc-commits
libc-commits at lists.llvm.org
Sat Jun 11 08:09:37 PDT 2022
oceanfish81 created this revision.
Herald added subscribers: libc-commits, sunshaoce, VincentWu, luke957, vkmr, luismarques, sameer.abuasal, s.egerton, Jim, rogfer01, shiva0217, kito-cheng, simoncook, arichardson, mgorny.
Herald added projects: libc-project, All.
oceanfish81 requested review of this revision.
Herald added a subscriber: pcwang-thead.
This was tested under rv64gc.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D127571
Files:
libc/cmake/modules/LLVMLibCArchitectures.cmake
libc/src/__support/architectures.h
libc/src/string/memory_utils/utils.h
Index: libc/src/string/memory_utils/utils.h
===================================================================
--- libc/src/string/memory_utils/utils.h
+++ libc/src/string/memory_utils/utils.h
@@ -15,7 +15,7 @@
// cache line sizes depend on implementations, not architectures. There
// are even implementations with cache line sizes configurable at boot
// time.
-#if defined(LLVM_LIBC_ARCH_AARCH64) || defined(LLVM_LIBC_ARCH_X86)
+#if defined(LLVM_LIBC_ARCH_AARCH64) || defined(LLVM_LIBC_ARCH_X86) || defined(LLVM_LIBC_ARCH_RISCV)
#define LLVM_LIBC_CACHELINE_SIZE 64
#else
#error "Unsupported platform for memory functions."
Index: libc/src/__support/architectures.h
===================================================================
--- libc/src/__support/architectures.h
+++ libc/src/__support/architectures.h
@@ -33,6 +33,10 @@
#define LLVM_LIBC_ARCH_AARCH64
#endif
+#if defined(__riscv) || defined(__riscv__)
+#define LLVM_LIBC_ARCH_RISCV
+#endif
+
#if (defined(LLVM_LIBC_ARCH_AARCH64) || defined(LLVM_LIBC_ARCH_ARM))
#define LLVM_LIBC_ARCH_ANY_ARM
#endif
Index: libc/cmake/modules/LLVMLibCArchitectures.cmake
===================================================================
--- libc/cmake/modules/LLVMLibCArchitectures.cmake
+++ libc/cmake/modules/LLVMLibCArchitectures.cmake
@@ -17,6 +17,9 @@
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
set(LIBC_TARGET_ARCHITECTURE_IS_POWER TRUE)
set(LIBC_TARGET_ARCHITECTURE "power")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(riscv64|riscv)")
+ set(LIBC_TARGET_ARCHITECTURE_IS_POWER TRUE)
+ set(LIBC_TARGET_ARCHITECTURE "riscv")
else()
message(FATAL_ERROR "Unsupported processor ${CMAKE_SYSTEM_PROCESSOR}")
endif()
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D127571.436143.patch
Type: text/x-patch
Size: 1702 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20220611/6ee3f36a/attachment.bin>
More information about the libc-commits
mailing list