History log of /llvm-project/libc/src/string/memory_utils/op_generic.h (Results 1 – 25 of 45)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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


12