llvm-project/libc
Guillaume Chatelet 6351993da7 [libc] Simplifies multi implementations
This is a roll forward of D101895 with two additional fixes:

Original Patch description:
> This is a follow up on D101524 which:
>
> - simplifies cpu features detection and usage,
> - flattens target dependent optimizations so it's obvious which implementations are generated,
> - provides an implementation targeting the host (march/mtune=native) for the mem* functions,
> - makes sure all implementations are unittested (provided the host can run them).

Additional fixes:
 - Fix uninitialized ALL_CPU_FEATURES
 - Use non pseudo microarch as it is only supported from Clang 12 on

Differential Revision: https://reviews.llvm.org/D102233
2021-05-12 07:24:53 +00:00
..
AOR_v20.02 Harmonize Python shebang 2020-07-16 21:53:45 +02:00
benchmarks Fix errors in distributions 2021-02-11 21:53:50 +00:00
cmake/modules [libc] Simplifies multi implementations 2021-05-12 07:24:53 +00:00
config [libc] Normalize LIBC_TARGET_MACHINE 2021-05-05 15:52:42 +00:00
docs [libc] Add documentation for clang-tidy checks. 2020-07-06 18:15:35 -07:00
fuzzing [libc] Make FPBits a union. 2021-04-13 09:21:35 -07:00
include [libc][NFC][Obvious] Add a missing dep. 2021-01-18 22:04:20 -08:00
lib [libc] Add a target "install-llvmlibc" to install LLVM libc static archive. 2021-03-22 04:45:14 +00:00
loader [libc] Normalize LIBC_TARGET_MACHINE 2021-05-05 15:52:42 +00:00
spec [libc] Introduce asctime, asctime_r to LLVM libc 2021-05-03 17:15:00 -07:00
src [libc] Simplifies multi implementations 2021-05-12 07:24:53 +00:00
test [libc] Simplifies multi implementations 2021-05-12 07:24:53 +00:00
utils [libc] Normalize LIBC_TARGET_MACHINE 2021-05-05 15:52:42 +00:00
CMakeLists.txt [libc] Allow target architecture customization 2021-05-10 07:53:48 +00:00
LICENSE.TXT Rename top-level LICENSE.txt files to LICENSE.TXT 2021-03-10 21:26:24 -08:00
README.txt

README.txt

LLVM libc
=========

This directory and its subdirectories contain source code for llvm-libc,
a retargetable implementation of the C standard library.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.