History log of /llvm-project/libcxx/include/algorithm (Results 26 – 50 of 328)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 7a3b528e 06-Jun-2023 Nikolas Klauser <n_klauser@apple.com>

[libc++][PSTL] Implement std::count{,_if}

Reviewed By: ldionne, #libc

Spies: libcxx-commits

Differential Revision: https://reviews.llvm.org/D150128


Revision tags: llvmorg-16.0.5
# d51a84b4 01-Jun-2023 Nikolas Klauser <nikolasklauser@berlin.de>

[libc++][PSTL] Implement std::stable_sort

Reviewed By: #libc, ldionne

Spies: ldionne, libcxx-commits

Differential Revision: https://reviews.llvm.org/D151573


# bf63b15b 30-May-2023 Nikolas Klauser <nikolasklauser@berlin.de>

[libc++][PSTL] Implement std::merge

Reviewed By: ldionne, #libc

Spies: pcwang-thead, libcxx-commits

Differential Revision: https://reviews.llvm.org/D151375


Revision tags: llvmorg-16.0.4
# 7ace54e6 15-May-2023 Nikolas Klauser <nikolasklauser@berlin.de>

[libc++][PSTL] Implement std::copy{,_n}

Reviewed By: ldionne, #libc

Spies: jloser, libcxx-commits

Differential Revision: https://reviews.llvm.org/D149706


# 20517557 08-May-2023 zijunzhao <zijunzhao@google.com>

[libc++] Implement ranges::starts_with


# 61d5671c 15-May-2023 Nikolas Klauser <nikolasklauser@berlin.de>

Revert "[libc++][PSTL] Implement std::copy{,_n}"

This reverts commit b049fc0481bc387f57fd61da7239f85ef91096c1.

The wrong patch was landed.


# b049fc04 05-May-2023 Nikolas Klauser <n_klauser@apple.com>

[libc++][PSTL] Implement std::copy{,_n}

Reviewed By: ldionne, #libc

Spies: jloser, libcxx-commits

Differential Revision: https://reviews.llvm.org/D149706


# 6851d078 15-May-2023 Nikolas Klauser <nikolasklauser@berlin.de>

[libc++][PSTL] Implement std::transform

Reviewed By: ldionne, #libc

Spies: libcxx-commits

Differential Revision: https://reviews.llvm.org/D149615


# 627e6efa 15-May-2023 Nikolas Klauser <nikolasklauser@berlin.de>

Revert "[libc++][PSTL] Implement std::transform"

This reverts commit cbd9e5454741ebe6b39521fe1a8ed4eed5c2c801.

The wrong patch was landed.


# cbd9e545 05-May-2023 Nikolas Klauser <n_klauser@apple.com>

[libc++][PSTL] Implement std::transform

Reviewed By: ldionne, #libc

Spies: libcxx-commits

Differential Revision: https://reviews.llvm.org/D149615


# e7e37118 05-May-2023 Nikolas Klauser <n_klauser@apple.com>

[libc++][PSTL] Make the PSTL available by default under -fexperimental-library

This removes the need for a custom libc++ build to have a basic set of PSTL algorithms.

Reviewed By: ldionne, #libc

S

[libc++][PSTL] Make the PSTL available by default under -fexperimental-library

This removes the need for a custom libc++ build to have a basic set of PSTL algorithms.

Reviewed By: ldionne, #libc

Spies: miyuki, libcxx-commits, arichardson

Differential Revision: https://reviews.llvm.org/D149624

show more ...


Revision tags: llvmorg-16.0.3
# ade9c3bd 28-Apr-2023 Nikolas Klauser <n_klauser@apple.com>

[libc++][PSTL] Implement std::fill{,_n}

Reviewed By: ldionne, #libc

Spies: libcxx-commits

Differential Revision: https://reviews.llvm.org/D149540


# 82439169 27-Apr-2023 Nikolas Klauser <n_klauser@apple.com>

[libc++][PSTL] Implement std::find{,_if,_if_not}

Reviewed By: ldionne, #libc

Spies: libcxx-commits

Differential Revision: https://reviews.llvm.org/D149539


Revision tags: 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
# 68ee014b 19-Jan-2023 Nikolas Klauser <nikolasklauser@berlin.de>

[libc++][PSTL] Implement std::for_each{, _n}

Reviewed By: ldionne, #libc

Spies: libcxx-commits

Differential Revision: https://reviews.llvm.org/D149381


# 8af259e8 14-Jan-2023 Nikolas Klauser <nikolasklauser@berlin.de>

[libc++][PSTL] Implement std::{any, all, none}_of

Reviewed By: ldionne, #libc

Spies: arichardson, libcxx-commits, miyuki

Differential Revision: https://reviews.llvm.org/D143161


# 1eb74f7e 15-Apr-2023 Ian Anderson <iana@apple.com>

[libc++] Remove the chrono include from algorithm

algorithm's include of chrono causes include cycles:

```
algorithm -> chrono -> __chrono/convert_to_tm.h -> __chrono/statically_widen.h -> __format

[libc++] Remove the chrono include from algorithm

algorithm's include of chrono causes include cycles:

```
algorithm -> chrono -> __chrono/convert_to_tm.h -> __chrono/statically_widen.h -> __format/concepts.h -> __format/format_parse_context.h -> string_view -> algorithm

algorithm -> chrono -> __chrono/convert_to_tm.h -> __chrono/statically_widen.h -> __format/concepts.h -> __format/format_parse_context.h -> string_view -> functional -> __functional/boyer_moore_searcher.h -> array -> algorithm

algorithm -> chrono -> __chrono/convert_to_tm.h -> __chrono/statically_widen.h -> __format/concepts.h -> __format/format_parse_context.h -> string_view -> functional -> __functional/boyer_moore_searcher.h -> unordered_map -> algorithm

algorithm -> chrono -> __chrono/convert_to_tm.h -> __chrono/statically_widen.h -> __format/concepts.h -> __format/format_parse_context.h -> string_view -> functional -> __functional/boyer_moore_searcher.h -> vector -> algorithm
```

This is a problem for clang modules after the std mega module is broken up, because it becomes a module cycle which is a hard error.

All of the includes in the `__chrono` and `__format` headers are being used and so can't be removed. algorithm's include of chrono is already removed in C++20, whereas the array, string_view, unordered_map, vector includes of algorithm aren't removed until C++23 (and it's 4x the includes that would need removing). Unconditionally remove the chrono include from algorithm in all versions, so that the module breakup can happen (the module has to apply to all C++ versions).

Reviewed By: Mordante, #libc

Differential Revision: https://reviews.llvm.org/D148405

show more ...


# 7d98590b 16-Apr-2023 Nikolas Klauser <nikolasklauser@berlin.de>

[libc++][PSTL] Remove current integration

We decided to go a different route. To make the switch easier, rip out the old integration first and build on a clean base.

Reviewed By: ldionne, #libc, #l

[libc++][PSTL] Remove current integration

We decided to go a different route. To make the switch easier, rip out the old integration first and build on a clean base.

Reviewed By: ldionne, #libc, #libc_abi

Spies: arichardson, libcxx-commits

Differential Revision: https://reviews.llvm.org/D148480

show more ...


Revision tags: llvmorg-15.0.7
# 75196f8e 08-Jan-2023 Nikolas Klauser <nikolasklauser@berlin.de>

[libc++] Remove <cstdlib> includes

We changed the `abort` calls when trying to throw exceptions in `-fno-exceptions` mode to `__verbose_abort` calls, which removes the dependency in most files.

Rev

[libc++] Remove <cstdlib> includes

We changed the `abort` calls when trying to throw exceptions in `-fno-exceptions` mode to `__verbose_abort` calls, which removes the dependency in most files.

Reviewed By: ldionne, #libc

Spies: dim, emaste, mikhail.ramalho, smeenai, libcxx-commits

Differential Revision: https://reviews.llvm.org/D146076

show more ...


# de6827b5 24-Feb-2023 Mark de Wever <koraq@xs4all.nl>

[libc++] Improves clang-format settings.

Add a new test based .clang-format file which inherits from the generic
one. This moves some test specific formatting rules to the test
directory.

The main

[libc++] Improves clang-format settings.

Add a new test based .clang-format file which inherits from the generic
one. This moves some test specific formatting rules to the test
directory.

The main benefit is that headers are sorted, which makes it more likely
to catch these errors before creating a review instead of spotting the
error in the CI clang-tidy step.

Reviewed By: ldionne, philnik, #libc

Differential Revision: https://reviews.llvm.org/D144755

show more ...


# 40a20ae6 08-Jan-2023 Nikolas Klauser <nikolasklauser@berlin.de>

[libc++] Granularize <bit> includes

Reviewed By: ldionne, #libc

Spies: libcxx-commits

Differential Revision: https://reviews.llvm.org/D141228


# e698c595 26-Dec-2022 Nikolas Klauser <nikolasklauser@berlin.de>

[libc++] Granularize <type_traits> includes in <algorithm>

Reviewed By: Mordante, #libc

Spies: libcxx-commits, wenlei

Differential Revision: https://reviews.llvm.org/D140673


Revision tags: llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2
# 2a06757a 04-Aug-2022 Adrian Vogelsgesang <avogelsgesang@tableau.com>

[libc++][spaceship] Implement `lexicographical_compare_three_way`

The implementation makes use of the freedom added by LWG 3410. We have
two variants of this algorithm:
* a fast path for random acce

[libc++][spaceship] Implement `lexicographical_compare_three_way`

The implementation makes use of the freedom added by LWG 3410. We have
two variants of this algorithm:
* a fast path for random access iterators: This fast path computes the
maximum number of loop iterations up-front and does not compare the
iterators against their limits on every loop iteration.
* A basic implementation for all other iterators: This implementation
compares the iterators against their limits in every loop iteration.
However, it still takes advantage of the freedom added by LWG 3410 to
avoid unnecessary additional iterator comparisons, as originally
specified by P1614R2.

https://godbolt.org/z/7xbMEen5e shows the benefit of the fast path:
The hot loop generated of `lexicographical_compare_three_way3` is
more tight than for `lexicographical_compare_three_way1`. The added
benchmark illustrates how this leads to a 30% - 50% performance
improvement on integer vectors.

Implements part of P1614R2 "The Mothership has Landed"

Fixes LWG 3410 and LWG 3350

Differential Revision: https://reviews.llvm.org/D131395

show more ...


# 5629d492 14-Jan-2023 varconst <varconsteq@gmail.com>

Reapply "[libc++][ranges]Refactor `copy{,_backward}` and `move{,_backward}`"

This reverts commit a6e1080b87db8fbe0e1afadd96af5a3c0bd5e279.

Fix the conditions when the `memmove` optimization can be

Reapply "[libc++][ranges]Refactor `copy{,_backward}` and `move{,_backward}`"

This reverts commit a6e1080b87db8fbe0e1afadd96af5a3c0bd5e279.

Fix the conditions when the `memmove` optimization can be applied and refactor them out into a reusable type trait, fix and significantly expand the tests.

Differential Revision: https://reviews.llvm.org/D139235

show more ...


# 86aac87f 27-Dec-2022 Nikolas Klauser <nikolasklauser@berlin.de>

[libc++] Granularize <bit> and remove <__bits>

Reviewed By: Mordante, #libc

Spies: libcxx-commits

Differential Revision: https://reviews.llvm.org/D141225


# 89b356f0 02-Nov-2022 Nikolas Klauser <nikolasklauser@berlin.de>

[libc++] Granularize <concept> includes

Reviewed By: ldionne, #libc

Spies: libcxx-commits

Differential Revision: https://reviews.llvm.org/D137283


12345678910>>...14