[libc] mem* framework v3
authorGuillaume Chatelet <gchatelet@google.com>
Sat, 22 Oct 2022 11:23:04 +0000 (11:23 +0000)
committerGuillaume Chatelet <gchatelet@google.com>
Mon, 24 Oct 2022 09:13:46 +0000 (09:13 +0000)
commit69090143f5022da526c0a3b81ced530fce832769
treebfb880558c7fa4c2a054d1f846daf9b2fc7a6ff4
parentf8b8426861a7a26ff60fe085800cc338591bee41
[libc] mem* framework v3

This version is more composable and also simpler at the expense of being more explicit and more verbose.

This patch provides rationale for the framework, implementation and unit tests but the functions themselves are still using the previous version. The change in implementation will come in a follow up patch.

Differential Revision: https://reviews.llvm.org/D136292
libc/src/string/memory_utils/CMakeLists.txt
libc/src/string/memory_utils/README.md [new file with mode: 0644]
libc/src/string/memory_utils/op_aarch64.h [new file with mode: 0644]
libc/src/string/memory_utils/op_builtin.h [new file with mode: 0644]
libc/src/string/memory_utils/op_generic.h [new file with mode: 0644]
libc/src/string/memory_utils/op_x86.h [new file with mode: 0644]
libc/src/string/memory_utils/utils.h
libc/test/src/string/memory_utils/CMakeLists.txt
libc/test/src/string/memory_utils/op_tests.cpp [new file with mode: 0644]
utils/bazel/llvm-project-overlay/libc/BUILD.bazel