|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
| #
bf0ded80 |
| 08-Mar-2022 |
Michael Jones <[email protected]> |
[libc][NFC] split standalone_cpp into single headers
Previously, the entire support/CPP folder was in one header library, which meant that a lot of headers were included where they shouldn't be. Thi
[libc][NFC] split standalone_cpp into single headers
Previously, the entire support/CPP folder was in one header library, which meant that a lot of headers were included where they shouldn't be. This patch splits each header into its own target, as well as adjusting each place they were included to only include what is used.
Reviewed By: sivachandra, lntue
Differential Revision: https://reviews.llvm.org/D121237
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1 |
|
| #
7e7ecef9 |
| 07-Feb-2022 |
Guillaume Chatelet <[email protected]> |
[libc] Replace type punning with bit_cast
Although type punning is defined for union in C, it is UB in C++. This patch introduces a bit_cast function to convert between types in a safe way.
This is
[libc] Replace type punning with bit_cast
Although type punning is defined for union in C, it is UB in C++. This patch introduces a bit_cast function to convert between types in a safe way.
This is necessary to get llvm-libc compile with GCC. This patch is extracted from D119002.
Differential Revision: https://reviews.llvm.org/D119145
show more ...
|
|
Revision tags: llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
af059dfe |
| 30-Nov-2021 |
Guillaume Chatelet <[email protected]> |
[libc] Add a reasonably optimized version for bcmp
This is based on current memcmp implementation.
Differential Revision: https://reviews.llvm.org/D114432
|
| #
7b59fcb7 |
| 26-Nov-2021 |
Siva Chandra Reddy <[email protected]> |
[libc] Make string entrypoints mutualy exclusive.
For example, strcpy does not pull memcpy now.
Reviewed By: gchatelet
Differential Revision: https://reviews.llvm.org/D114300
|
|
Revision tags: llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
| #
7fff39d9 |
| 15-Jun-2021 |
Guillaume Chatelet <[email protected]> |
[libc] Add a set of elementary operations
Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.
Original commit message: Each of these elemen
[libc] Add a set of elementary operations
Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.
Original commit message: Each of these elementary operations can be assembled to support higher order constructs (Overlapping access, Loop, Aligned Loop). The patch does not compile yet as it depends on other ones (D100571, D100631) but it allows to get the conversation started.
A self-contained version of this code is available at https://godbolt.org/z/e1x6xdaxM
show more ...
|
| #
c3242238 |
| 16-Jun-2021 |
Guillaume Chatelet <[email protected]> |
Revert "[libc] Add a set of elementary operations"
This reverts commit 4694321fbe54628513b75a4395124cd7508581a6.
|
| #
4694321f |
| 15-Jun-2021 |
Guillaume Chatelet <[email protected]> |
[libc] Add a set of elementary operations
Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.
Original commit message: Each of these elemen
[libc] Add a set of elementary operations
Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.
Original commit message: Each of these elementary operations can be assembled to support higher order constructs (Overlapping access, Loop, Aligned Loop). The patch does not compile yet as it depends on other ones (D100571, D100631) but it allows to get the conversation started.
A self-contained version of this code is available at https://godbolt.org/z/e1x6xdaxM
show more ...
|
| #
2e286f23 |
| 15-Jun-2021 |
Guillaume Chatelet <[email protected]> |
Revert "[libc] Add a set of elementary operations"
This reverts commit 8387187c2ffe0bef0696edfffab00cd7d0ee3e6e.
|
| #
8387187c |
| 15-Jun-2021 |
Guillaume Chatelet <[email protected]> |
[libc] Add a set of elementary operations
Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.
Original commit message: Each of these elemen
[libc] Add a set of elementary operations
Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.
Original commit message: Each of these elementary operations can be assembled to support higher order constructs (Overlapping access, Loop, Aligned Loop). The patch does not compile yet as it depends on other ones (D100571, D100631) but it allows to get the conversation started.
A self-contained version of this code is available at https://godbolt.org/z/e1x6xdaxM
show more ...
|
| #
c11032ad |
| 15-Jun-2021 |
Guillaume Chatelet <[email protected]> |
Revert "[libc] Add a set of elementary operations"
This reverts commit 454d92ac3b3b13f5c8b3f57e03b2d93f0cf60738.
|
| #
454d92ac |
| 15-Jun-2021 |
Guillaume Chatelet <[email protected]> |
[libc] Add a set of elementary operations
Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.
Original commit message: Each of these elemen
[libc] Add a set of elementary operations
Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.
Original commit message: Each of these elementary operations can be assembled to support higher order constructs (Overlapping access, Loop, Aligned Loop). The patch does not compile yet as it depends on other ones (D100571, D100631) but it allows to get the conversation started.
A self-contained version of this code is available at https://godbolt.org/z/e1x6xdaxM
show more ...
|
| #
ab45c1f2 |
| 14-Jun-2021 |
Guillaume Chatelet <[email protected]> |
Revert "[libc] Add a set of elementary operations"
This reverts commit e63f27a3cf8129cb66b8350ad50bf19633554a6b.
|
| #
e63f27a3 |
| 14-Jun-2021 |
Guillaume Chatelet <[email protected]> |
[libc] Add a set of elementary operations
Each of these elementary operations can be assembled to support higher order constructs (Overlapping access, Loop, Aligned Loop). The patch does not compile
[libc] Add a set of elementary operations
Each of these elementary operations can be assembled to support higher order constructs (Overlapping access, Loop, Aligned Loop). The patch does not compile yet as it depends on other ones (D100571, D100631) but it allows to get the conversation started.
Differential Revision: https://reviews.llvm.org/D100646
show more ...
|
|
Revision tags: llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3 |
|
| #
5f0800cc |
| 24-Feb-2021 |
Siva Chandra Reddy <[email protected]> |
[libc][NFC] Remove headergen for the cacheline size macro.
We want to be able to build and test the string functions in contexts like that of Fuchsia where LLVM pieces like tablegen are not availabl
[libc][NFC] Remove headergen for the cacheline size macro.
We want to be able to build and test the string functions in contexts like that of Fuchsia where LLVM pieces like tablegen are not available. Since header generation uses tablegen, we are removing the dependency on headergen here.
Reviewed By: gchatelet
Differential Revision: https://reviews.llvm.org/D97363
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1 |
|
| #
6ca54e01 |
| 15-May-2020 |
Guillaume Chatelet <[email protected]> |
[libc] Add memset and bzero implementations
Summary: This patch adds general purpose `memset` and `bzero` implementations.
Reviewers: sivachandra, abrachet
Subscribers: mgorny, tschuett, ecnelises
[libc] Add memset and bzero implementations
Summary: This patch adds general purpose `memset` and `bzero` implementations.
Reviewers: sivachandra, abrachet
Subscribers: mgorny, tschuett, ecnelises, libc-commits, courbet
Tags: #libc-project
Differential Revision: https://reviews.llvm.org/D80010
show more ...
|
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4 |
|
| #
e4767a6f |
| 04-Mar-2020 |
Siva Chandra Reddy <[email protected]> |
[libc] Add fully-qualified target names.
Only targets setup by the special LLVM libc rules now have fully qualified names. The naming style is similar to fully qualified names in Python.
Reviewers:
[libc] Add fully-qualified target names.
Only targets setup by the special LLVM libc rules now have fully qualified names. The naming style is similar to fully qualified names in Python.
Reviewers: abrachet, PaulkaToast, phosek
Differential Revision: https://reviews.llvm.org/D77340
show more ...
|
|
Revision tags: llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2 |
|
| #
04a309dd |
| 11-Feb-2020 |
Guillaume Chatelet <[email protected]> |
[libc] Adding memcpy implementation for x86_64
Summary: The patch is not ready yet and is here to discuss a few options: - How do we customize the implementation? (i.e. how to define `kRepMovsBSize
[libc] Adding memcpy implementation for x86_64
Summary: The patch is not ready yet and is here to discuss a few options: - How do we customize the implementation? (i.e. how to define `kRepMovsBSize`), - How do we specify custom compilation flags? (We'd need `-fno-builtin-memcpy` to be passed in), - How do we build? We may want to test in debug but build the libc with `-march=native` for instance, - Clang has a brand new builtin `__builtin_memcpy_inline` which makes the implementation easy and efficient, but: - If we compile with `gcc` or `msvc` we can't use it, resorting on less efficient code generation, - With gcc we can use `__builtin_memcpy` but then we'd need a postprocess step to check that the final assembly do not contain call to `memcpy` (unlikely but allowed), - For msvc we'd need to resort on the compiler optimization passes.
Reviewers: sivachandra, abrachet
Subscribers: mgorny, MaskRay, tschuett, libc-commits, courbet
Tags: #libc-project
Differential Revision: https://reviews.llvm.org/D74397
show more ...
|
|
Revision tags: llvmorg-10.0.0-rc1 |
|
| #
85314e9b |
| 27-Jan-2020 |
Guillaume Chatelet <[email protected]> |
[libc] Add utils for memory functions
Summary: This patch adds a few low level functions needed to build libc memory functions.
Reviewers: sivachandra, jfb
Subscribers: mgorny, MaskRay, tschuett,
[libc] Add utils for memory functions
Summary: This patch adds a few low level functions needed to build libc memory functions.
Reviewers: sivachandra, jfb
Subscribers: mgorny, MaskRay, tschuett, libc-commits, ckennelly
Tags: #libc-project
Differential Revision: https://reviews.llvm.org/D73472
show more ...
|