[libc-commits] [libc] 8206c81 - [libc] Use generic/builtin.h for Emscripten in memory utils (#177474)

via libc-commits libc-commits at lists.llvm.org
Fri Jan 23 11:48:37 PST 2026


Author: google-yfyang
Date: 2026-01-23T13:48:32-06:00
New Revision: 8206c81433e32c89059cb829a4a8e11e7891ce1f

URL: https://github.com/llvm/llvm-project/commit/8206c81433e32c89059cb829a4a8e11e7891ce1f
DIFF: https://github.com/llvm/llvm-project/commit/8206c81433e32c89059cb829a4a8e11e7891ce1f.diff

LOG: [libc] Use generic/builtin.h for Emscripten in memory utils (#177474)

WASM supports bulk memory operations and can benefit from using
generic/builtin.h.

Added: 
    

Modified: 
    libc/src/string/memory_utils/inline_memcpy.h
    libc/src/string/memory_utils/inline_memmove.h
    libc/src/string/memory_utils/inline_memset.h

Removed: 
    


################################################################################
diff  --git a/libc/src/string/memory_utils/inline_memcpy.h b/libc/src/string/memory_utils/inline_memcpy.h
index 13975e6b3bd0e..931d2821be3a9 100644
--- a/libc/src/string/memory_utils/inline_memcpy.h
+++ b/libc/src/string/memory_utils/inline_memcpy.h
@@ -31,7 +31,7 @@
 #elif defined(LIBC_TARGET_ARCH_IS_ANY_RISCV)
 #include "src/string/memory_utils/riscv/inline_memcpy.h"
 #define LIBC_SRC_STRING_MEMORY_UTILS_MEMCPY inline_memcpy_riscv
-#elif defined(LIBC_TARGET_ARCH_IS_GPU)
+#elif defined(LIBC_TARGET_ARCH_IS_GPU) || defined(LIBC_TARGET_ARCH_IS_WASM)
 #include "src/string/memory_utils/generic/builtin.h"
 #define LIBC_SRC_STRING_MEMORY_UTILS_MEMCPY inline_memcpy_builtin
 #else

diff  --git a/libc/src/string/memory_utils/inline_memmove.h b/libc/src/string/memory_utils/inline_memmove.h
index 71a28c32e4c56..31627669b06bf 100644
--- a/libc/src/string/memory_utils/inline_memmove.h
+++ b/libc/src/string/memory_utils/inline_memmove.h
@@ -29,7 +29,7 @@
 #define LIBC_SRC_STRING_MEMORY_UTILS_MEMMOVE_SMALL_SIZE                        \
   inline_memmove_no_small_size
 #define LIBC_SRC_STRING_MEMORY_UTILS_MEMMOVE_FOLLOW_UP inline_memmove_riscv
-#elif defined(LIBC_TARGET_ARCH_IS_GPU)
+#elif defined(LIBC_TARGET_ARCH_IS_GPU) || defined(LIBC_TARGET_ARCH_IS_WASM)
 #include "src/string/memory_utils/generic/builtin.h"
 #define LIBC_SRC_STRING_MEMORY_UTILS_MEMMOVE_SMALL_SIZE                        \
   inline_memmove_no_small_size

diff  --git a/libc/src/string/memory_utils/inline_memset.h b/libc/src/string/memory_utils/inline_memset.h
index e41bdb626d60e..da85f09d0db57 100644
--- a/libc/src/string/memory_utils/inline_memset.h
+++ b/libc/src/string/memory_utils/inline_memset.h
@@ -27,7 +27,7 @@
 #elif defined(LIBC_TARGET_ARCH_IS_ANY_RISCV)
 #include "src/string/memory_utils/riscv/inline_memset.h"
 #define LIBC_SRC_STRING_MEMORY_UTILS_MEMSET inline_memset_riscv
-#elif defined(LIBC_TARGET_ARCH_IS_GPU)
+#elif defined(LIBC_TARGET_ARCH_IS_GPU) || defined(LIBC_TARGET_ARCH_IS_WASM)
 #include "src/string/memory_utils/generic/builtin.h"
 #define LIBC_SRC_STRING_MEMORY_UTILS_MEMSET inline_memset_builtin
 #else


        


More information about the libc-commits mailing list