[all-commits] [llvm/llvm-project] 4c1943: [libc] New version of the mem* framework
Guillaume Chatelet via All-commits
all-commits at lists.llvm.org
Wed Oct 12 08:27:06 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4c19439d249256db720e323a446e39d05496732f
https://github.com/llvm/llvm-project/commit/4c19439d249256db720e323a446e39d05496732f
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2022-10-12 (Wed, 12 Oct 2022)
Changed paths:
M libc/src/stdio/printf_core/string_writer.cpp
M libc/src/string/bcmp.cpp
M libc/src/string/memcmp.cpp
M libc/src/string/memmove.cpp
M libc/src/string/memory_utils/CMakeLists.txt
A libc/src/string/memory_utils/README.md
M libc/src/string/memory_utils/bcmp_implementations.h
R libc/src/string/memory_utils/elements.h
R libc/src/string/memory_utils/elements_aarch64.h
R libc/src/string/memory_utils/elements_x86.h
M libc/src/string/memory_utils/memcmp_implementations.h
M libc/src/string/memory_utils/memcpy_implementations.h
M libc/src/string/memory_utils/memset_implementations.h
A libc/src/string/memory_utils/op_aarch64.h
A libc/src/string/memory_utils/op_builtin.h
A libc/src/string/memory_utils/op_generic.h
A libc/src/string/memory_utils/op_x86.h
M libc/src/string/memory_utils/utils.h
M libc/src/string/memset.cpp
M libc/test/src/string/bcmp_test.cpp
M libc/test/src/string/memmove_test.cpp
M libc/test/src/string/memory_utils/CMakeLists.txt
R libc/test/src/string/memory_utils/elements_test.cpp
R libc/test/src/string/memory_utils/memory_access_test.cpp
M libc/test/src/string/memory_utils/utils_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] New version of the mem* framework
This version is more composable and also simpler at the expense of being more explicit and more verbose.
This patch is not meant to be submitted but gives an idea of the change.
Codegen can be checked in https://godbolt.org/z/6z1dEoWbs by removing the "static inline" before individual functions.
Unittests are coming.
Suggested review order:
- utils
- op_base
- op_builtin
- op_generic
- op_x86 / op_aarch64
- *_implementations.h
Differential Revision: https://reviews.llvm.org/D135134
More information about the All-commits
mailing list