${ARGN})
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
- list(APPEND ADD_IMPL_MLLVM_COMPILE_OPTIONS "-combiner-global-alias-analysis")
# Note that '-mllvm' needs to be prefixed with 'SHELL:' to prevent CMake flag deduplication.
foreach(opt IN LISTS ADD_IMPL_MLLVM_COMPILE_OPTIONS)
list(APPEND ADD_IMPL_COMPILE_OPTIONS "SHELL:-mllvm ${opt}")
static inline void inline_memcpy(char *__restrict dst,
const char *__restrict src, size_t count) {
+ using namespace __llvm_libc::builtin;
#if defined(LLVM_LIBC_ARCH_X86)
/////////////////////////////////////////////////////////////////////////////
// LLVM_LIBC_ARCH_X86
/////////////////////////////////////////////////////////////////////////////
- using namespace __llvm_libc::x86;
// Whether to use only rep;movsb.
constexpr bool USE_ONLY_REP_MOVSB =
#endif
if (USE_ONLY_REP_MOVSB)
- return copy<Accelerator>(dst, src, count);
+ return copy<x86::Accelerator>(dst, src, count);
if (count == 0)
return;
if (count <= REP_MOVS_B_SIZE)
return copy<Align<_32, Arg::Dst>::Then<Loop<LoopBlockSize>>>(dst, src,
count);
- return copy<Accelerator>(dst, src, count);
+ return copy<x86::Accelerator>(dst, src, count);
#elif defined(LLVM_LIBC_ARCH_AARCH64)
/////////////////////////////////////////////////////////////////////////////
// LLVM_LIBC_ARCH_AARCH64
/////////////////////////////////////////////////////////////////////////////
- using namespace __llvm_libc::scalar;
if (count == 0)
return;
if (count == 1)
/////////////////////////////////////////////////////////////////////////////
// Default
/////////////////////////////////////////////////////////////////////////////
- using namespace __llvm_libc::scalar;
if (count == 0)
return;
if (count == 1)
copts = [
"-fno-builtin-memcpy",
"-fno-builtin-memmove",
- "-mllvm -combiner-global-alias-analysis",
"-mllvm --tail-merge-threshold=0",
],
features = no_sanitize_features,
hdrs = ["src/string/memset.h"],
copts = [
"-fno-builtin-memset",
- "-mllvm -combiner-global-alias-analysis",
],
features = no_sanitize_features,
deps = [
hdrs = ["src/string/memmove.h"],
copts = [
"-fno-builtin-memmove",
- "-mllvm -combiner-global-alias-analysis",
],
features = no_sanitize_features,
deps = [
hdrs = ["src/string/memcmp.h"],
copts = [
"-fno-builtin-memcmp",
- "-mllvm -combiner-global-alias-analysis",
],
features = no_sanitize_features,
deps = [
copts = [
"-fno-builtin-bzero",
"-fno-builtin-memset",
- "-mllvm -combiner-global-alias-analysis",
],
features = no_sanitize_features,
deps = [