Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4 |
|
#
95b680e4 |
| 13-Nov-2024 |
Daniel Thornburgh <dthorn@google.com> |
[libc] Rename libc/src/__support/endian.h to endian_internal.h (#115950)
This prevents a conflict with the Linux system endian.h when built in
overlay mode for CPP files in __support.
This issue
[libc] Rename libc/src/__support/endian.h to endian_internal.h (#115950)
This prevents a conflict with the Linux system endian.h when built in
overlay mode for CPP files in __support.
This issue appeared in PR #106259.
show more ...
|
Revision tags: 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 |
|
#
5ff3ff33 |
| 12-Jul-2024 |
Petr Hosek <phosek@google.com> |
[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (#98597)
This is a part of #97655.
|
#
ce9035f5 |
| 12-Jul-2024 |
Mehdi Amini <joker.eph@gmail.com> |
Revert "[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration" (#98593)
Reverts llvm/llvm-project#98075
bots are broken
|
#
3f30effe |
| 11-Jul-2024 |
Petr Hosek <phosek@google.com> |
[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (#98075)
This is a part of #97655.
|
Revision tags: 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 |
|
#
a84e66a9 |
| 09-Mar-2024 |
Guillaume Chatelet <gchatelet@google.com> |
[libc] Provide `LIBC_TYPES_HAS_INT64` (#83441)
Umbrella bug #83182
|
Revision tags: llvmorg-18.1.1 |
|
#
2aa22ca2 |
| 05-Mar-2024 |
Nick Desaulniers <nickdesaulniers@users.noreply.github.com> |
[libc] suppress readability-identifier-naming for std::numeric_limits interfaces (#83921)
These templates are made to match the ergonomics of std::numeric_limits. Because our style for constexpr var
[libc] suppress readability-identifier-naming for std::numeric_limits interfaces (#83921)
These templates are made to match the ergonomics of std::numeric_limits. Because our style for constexpr variables is ALL_CAPS, we must silence the linter for these manually.
Link: https://clang.llvm.org/extra/clang-tidy/#suppressing-undesired-diagnostics
show more ...
|
#
640c8574 |
| 05-Mar-2024 |
Nick Desaulniers <nickdesaulniers@users.noreply.github.com> |
[libc] fix readability-identifier-naming in memory_utils/utils.h (#83919)
Fixes:
libc/src/string/memory_utils/utils.h:345:13: warning: invalid case style for member 'offset_' [readability-i
[libc] fix readability-identifier-naming in memory_utils/utils.h (#83919)
Fixes:
libc/src/string/memory_utils/utils.h:345:13: warning: invalid case style for member 'offset_' [readability-identifier-naming]
Having a trailing underscore for members is a google3 style, not LLVM style. Removing the underscore is insufficient, as we would then have 2 members with the same identifier which is not allowed (it is a compile time error). Remove the getter, and just access the renamed member that's now made public.
show more ...
|
#
88d82b74 |
| 05-Mar-2024 |
Nick Desaulniers <nickdesaulniers@users.noreply.github.com> |
[libc] fix more readability-identifier-naming lints (#83914)
Found via:
$ ninja -k2000 libc-lint 2>&1 | grep readability-identifier-naming
Auto fixed via:
$ clang-tidy -p build/compile_co
[libc] fix more readability-identifier-naming lints (#83914)
Found via:
$ ninja -k2000 libc-lint 2>&1 | grep readability-identifier-naming
Auto fixed via:
$ clang-tidy -p build/compile_commands.json \ -checks="-*,readability-identifier-naming" \ <filename> --fix
This doesn't fix all instances, just the obvious simple cases where it makes sense to change the identifier names. Subsequent PRs will fix up the stragglers.
show more ...
|
#
6f8d826b |
| 28-Feb-2024 |
Nick Desaulniers <nickdesaulniers@users.noreply.github.com> |
[libc] fix readability-identifier-naming.ConstexprFunctionCase (#83345)
Codify that we use lower_case for readability-identifier-naming.ConstexprFunctionCase and then fix the 11 violations (rather t
[libc] fix readability-identifier-naming.ConstexprFunctionCase (#83345)
Codify that we use lower_case for readability-identifier-naming.ConstexprFunctionCase and then fix the 11 violations (rather than codify UPPER_CASE and have to fix the 170 violations).
show more ...
|
Revision tags: 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 |
|
#
3153aa4c |
| 10-Nov-2023 |
doshimili <milidoshi@google.com> |
[libc] Adding a version of memset with software prefetching (#70857)
Software prefetching helps recover performance when hardware prefetching
is disabled. The 'LIBC_COPT_MEMSET_X86_USE_SOFTWARE_PRE
[libc] Adding a version of memset with software prefetching (#70857)
Software prefetching helps recover performance when hardware prefetching
is disabled. The 'LIBC_COPT_MEMSET_X86_USE_SOFTWARE_PREFETCHING' compile
time option allows users to use this patch.
show more ...
|
Revision tags: llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2 |
|
#
b6bc9d72 |
| 26-Sep-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc] Mass replace enclosing namespace (#67032)
This is step 4 of
https://discourse.llvm.org/t/rfc-customizable-namespace-to-allow-testing-the-libc-when-the-system-libc-is-also-llvms-libc/73079
|
Revision tags: 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 |
|
#
5bf8efd2 |
| 30-Jun-2023 |
Roland McGrath <mcgrathr@google.com> |
[libc] Fix more inline definitions
Fix a bunch more instances of incorrect use of the `static` keyword and missing use of LIBC_INLINE and LIBC_INLINE_VAR macros. Note that even forward declarations
[libc] Fix more inline definitions
Fix a bunch more instances of incorrect use of the `static` keyword and missing use of LIBC_INLINE and LIBC_INLINE_VAR macros. Note that even forward declarations and generic template declarations must follow the prescribed patterns for libc code so that they match every definition, all template specializations.
Reviewed By: Caslyn
Differential Revision: https://reviews.llvm.org/D154260
show more ...
|
#
1c814c99 |
| 30-Jun-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc] Improve memcmp latency and codegen
This is based on ideas from @nafi to: - use a branchless version of 'cmp' for 'uint32_t', - completely resolve the lexicographic comparison through vector
[libc] Improve memcmp latency and codegen
This is based on ideas from @nafi to: - use a branchless version of 'cmp' for 'uint32_t', - completely resolve the lexicographic comparison through vector operations when wide types are available. We also get rid of byte reloads and serializing '__builtin_ctzll'.
I did not include the suggestion to replace comparisons of 'uint16_t' with two 'uint8_t' as it did not seem to help the codegen. This can be revisited in sub-sequent patches.
The code been rewritten to reduce nested function calls, making the job of the inliner easier and preventing harmful code duplication.
Reviewed By: nafi3000
Differential Revision: https://reviews.llvm.org/D148717
show more ...
|
#
bd1cba9f |
| 21-Jun-2023 |
Guillaume Chatelet <gchatelet@google.com> |
Revert D148717 "[libc] Improve memcmp latency and codegen"
Once integrated in our codebase the patch triggered a bunch of failing tests. We do not yet understand where the bug is but we revert it to
Revert D148717 "[libc] Improve memcmp latency and codegen"
Once integrated in our codebase the patch triggered a bunch of failing tests. We do not yet understand where the bug is but we revert it to move forward with integration. This reverts commit 5e32765c15ab8df3d2635a2bb5078c5b1d5714d5.
show more ...
|
#
10e7b451 |
| 14-Jun-2023 |
Alex Brachet <abrachet@google.com> |
[libc][NFC] Fix some issues with LIBC_INLINE
We define LIBC_INLINE to include [[clang::internal_linkage]], and these must appear before other specifiers. Additionally, there was also a missing cast
[libc][NFC] Fix some issues with LIBC_INLINE
We define LIBC_INLINE to include [[clang::internal_linkage]], and these must appear before other specifiers. Additionally, there was also a missing cast that was causing warnings.
Differential Revision: https://reviews.llvm.org/D152865
show more ...
|
#
5e32765c |
| 12-Jun-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc] Improve memcmp latency and codegen
This is based on ideas from @nafi to: - use a branchless version of 'cmp' for 'uint32_t', - completely resolve the lexicographic comparison through vector
[libc] Improve memcmp latency and codegen
This is based on ideas from @nafi to: - use a branchless version of 'cmp' for 'uint32_t', - completely resolve the lexicographic comparison through vector operations when wide types are available. We also get rid of byte reloads and serializing '__builtin_ctzll'.
I did not include the suggestion to replace comparisons of 'uint16_t' with two 'uint8_t' as it did not seem to help the codegen. This can be revisited in sub-sequent patches.
The code been rewritten to reduce nested function calls, making the job of the inliner easier and preventing harmful code duplication.
Reviewed By: nafi3000
Differential Revision: https://reviews.llvm.org/D148717
show more ...
|
#
1ec995cc |
| 12-Jun-2023 |
Guillaume Chatelet <gchatelet@google.com> |
Revert D148717 "[libc] Improve memcmp latency and codegen"
This broke aarch64 debug buildbot https://lab.llvm.org/buildbot/#/builders/223/builds/21703 This reverts commit bd4f978754758d5ef29d1f10370
Revert D148717 "[libc] Improve memcmp latency and codegen"
This broke aarch64 debug buildbot https://lab.llvm.org/buildbot/#/builders/223/builds/21703 This reverts commit bd4f978754758d5ef29d1f10370f45362da3de37.
show more ...
|
#
bd4f9787 |
| 12-Jun-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc] Improve memcmp latency and codegen
This is based on ideas from @nafi to: - use a branchless version of 'cmp' for 'uint32_t', - completely resolve the lexicographic comparison through vector
[libc] Improve memcmp latency and codegen
This is based on ideas from @nafi to: - use a branchless version of 'cmp' for 'uint32_t', - completely resolve the lexicographic comparison through vector operations when wide types are available. We also get rid of byte reloads and serializing '__builtin_ctzll'.
I did not include the suggestion to replace comparisons of 'uint16_t' with two 'uint8_t' as it did not seem to help the codegen. This can be revisited in sub-sequent patches.
The code been rewritten to reduce nested function calls, making the job of the inliner easier and preventing harmful code duplication.
Reviewed By: nafi3000
Differential Revision: https://reviews.llvm.org/D148717
show more ...
|
Revision tags: llvmorg-16.0.6 |
|
#
e49a6085 |
| 05-Jun-2023 |
Guillaume Chatelet <gchatelet@google.com> |
Revert D148717 "[libc] Improve memcmp latency and codegen"
This reverts commit 9ec6ebd3ceabb29482aa18a64b943788b65223dc.
The patch broke RISCV and aarch64 builtbots.
|
Revision tags: llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3 |
|
#
9ec6ebd3 |
| 19-Apr-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc] Improve memcmp latency and codegen
This is based on ideas from @nafi to: - use a branchless version of 'cmp' for 'uint32_t', - completely resolve the lexicographic comparison through vector
[libc] Improve memcmp latency and codegen
This is based on ideas from @nafi to: - use a branchless version of 'cmp' for 'uint32_t', - completely resolve the lexicographic comparison through vector operations when wide types are available. We also get rid of byte reloads and serializing '__builtin_ctzll'.
I did not include the suggestion to replace comparisons of 'uint16_t' with two 'uint8_t' as it did not seem to help the codegen. This can be revisited in sub-sequent patches.
The code been rewritten to reduce nested function calls, making the job of the inliner easier and preventing harmful code duplication.
Reviewed By: nafi3000
Differential Revision: https://reviews.llvm.org/D148717
show more ...
|
Revision tags: llvmorg-16.0.2 |
|
#
458734b8 |
| 18-Apr-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[reland][libc] handle memset sequence as a separate struct
These sequence of calls don't really make sense for head_tail and loop_and_tail.
|
#
3950e44e |
| 18-Apr-2023 |
Guillaume Chatelet <gchatelet@google.com> |
Revert "[libc] handle memset sequence as a separate struct"
This patch broke the build bots. This reverts commit 6fdc244e9f13d2ce20a26d05513f22a1e099f90a.
|
#
6fdc244e |
| 18-Apr-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc] handle memset sequence as a separate struct
These sequence of calls don't really make sense for head_tail and loop_and_tail.
|
#
355a5d5e |
| 11-Apr-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc][NFC] Use new approach based on types to code memmove
|
#
1a4696d9 |
| 11-Apr-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc][NFC] Use new approach based on types to code memset
|