[libc-commits] [libc] [libc] Switched calls to inline_memcpy to __builtin_memcpy for wide char utilities (PR #143011)
Uzair Nawaz via libc-commits
libc-commits at lists.llvm.org
Thu Jun 5 10:39:28 PDT 2025
https://github.com/uzairnawaz created https://github.com/llvm/llvm-project/pull/143011
Switched calls to inline_memcpy to __builtin_memcpy for wide char utilities
>From a019d023856c8650e6cb18363b2ae91cdcf7bda0 Mon Sep 17 00:00:00 2001
From: Uzair Nawaz <uzairnawaz at google.com>
Date: Thu, 5 Jun 2025 17:33:45 +0000
Subject: [PATCH] Switched inline_memcpy -> __builtin_memcpy
---
libc/src/wchar/CMakeLists.txt | 2 --
libc/src/wchar/wcscpy.cpp | 3 +--
libc/src/wchar/wcsncpy.cpp | 1 -
libc/src/wchar/wmemcpy.cpp | 3 +--
libc/src/wchar/wmempcpy.cpp | 3 +--
5 files changed, 3 insertions(+), 9 deletions(-)
diff --git a/libc/src/wchar/CMakeLists.txt b/libc/src/wchar/CMakeLists.txt
index 759f708c2247a..99fb1c4a9da53 100644
--- a/libc/src/wchar/CMakeLists.txt
+++ b/libc/src/wchar/CMakeLists.txt
@@ -206,7 +206,6 @@ add_entrypoint_object(
libc.hdr.types.size_t
libc.hdr.wchar_macros
libc.src.__support.wctype_utils
- libc.src.string.memory_utils.inline_memcpy
)
add_entrypoint_object(
@@ -218,6 +217,5 @@ add_entrypoint_object(
DEPENDS
libc.hdr.types.size_t
libc.hdr.wchar_macros
- libc.src.string.memory_utils.inline_memcpy
libc.src.string.string_utils
)
diff --git a/libc/src/wchar/wcscpy.cpp b/libc/src/wchar/wcscpy.cpp
index dc46b972c59f7..01ba994cecbb2 100644
--- a/libc/src/wchar/wcscpy.cpp
+++ b/libc/src/wchar/wcscpy.cpp
@@ -12,7 +12,6 @@
#include "hdr/types/wchar_t.h"
#include "src/__support/common.h"
#include "src/__support/macros/config.h"
-#include "src/string/memory_utils/inline_memcpy.h"
#include "src/string/string_utils.h"
namespace LIBC_NAMESPACE_DECL {
@@ -20,7 +19,7 @@ namespace LIBC_NAMESPACE_DECL {
LLVM_LIBC_FUNCTION(wchar_t *, wcscpy,
(wchar_t *__restrict s1, const wchar_t *__restrict s2)) {
size_t size = internal::string_length(s2) + 1;
- inline_memcpy(s1, s2, size * sizeof(wchar_t));
+ __builtin_memcpy(s1, s2, size * sizeof(wchar_t));
return s1;
}
diff --git a/libc/src/wchar/wcsncpy.cpp b/libc/src/wchar/wcsncpy.cpp
index e7ae9a4a0da79..6ea95d3d97b15 100644
--- a/libc/src/wchar/wcsncpy.cpp
+++ b/libc/src/wchar/wcsncpy.cpp
@@ -12,7 +12,6 @@
#include "hdr/types/wchar_t.h"
#include "src/__support/common.h"
#include "src/__support/macros/config.h"
-#include "src/string/memory_utils/inline_memcpy.h"
#include "src/string/string_utils.h"
namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/wchar/wmemcpy.cpp b/libc/src/wchar/wmemcpy.cpp
index 56708d6cee496..bf92309b20944 100644
--- a/libc/src/wchar/wmemcpy.cpp
+++ b/libc/src/wchar/wmemcpy.cpp
@@ -12,14 +12,13 @@
#include "hdr/types/wchar_t.h"
#include "src/__support/common.h"
#include "src/__support/macros/config.h"
-#include "src/string/memory_utils/inline_memcpy.h"
namespace LIBC_NAMESPACE_DECL {
LLVM_LIBC_FUNCTION(wchar_t *, wmemcpy,
(wchar_t *__restrict s1, const wchar_t *__restrict s2,
size_t n)) {
- inline_memcpy(s1, s2, n * sizeof(wchar_t));
+ __builtin_memcpy(s1, s2, n * sizeof(wchar_t));
return s1;
}
diff --git a/libc/src/wchar/wmempcpy.cpp b/libc/src/wchar/wmempcpy.cpp
index d8b89c0a88d05..21e16210a757a 100644
--- a/libc/src/wchar/wmempcpy.cpp
+++ b/libc/src/wchar/wmempcpy.cpp
@@ -11,14 +11,13 @@
#include "hdr/types/size_t.h"
#include "hdr/types/wchar_t.h"
#include "src/__support/common.h"
-#include "src/string/memory_utils/inline_memcpy.h"
namespace LIBC_NAMESPACE_DECL {
LLVM_LIBC_FUNCTION(wchar_t *, wmempcpy,
(wchar_t *__restrict to, const wchar_t *__restrict from,
size_t size)) {
- inline_memcpy(to, from, size * sizeof(wchar_t));
+ __builtin_memcpy(to, from, size * sizeof(wchar_t));
return reinterpret_cast<wchar_t *>(to) + size;
}
More information about the libc-commits
mailing list