[all-commits] [llvm/llvm-project] c90801: [libc++] Refactor deque::iterator algorithm optimi...
philnik777 via All-commits
all-commits at lists.llvm.org
Thu Jan 19 11:11:56 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c90801457f7cbbaee97821a06a893f4146ab1b2e
https://github.com/llvm/llvm-project/commit/c90801457f7cbbaee97821a06a893f4146ab1b2e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2023-01-19 (Thu, 19 Jan 2023)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/deque_iterator.bench.cpp
M libcxx/docs/ReleaseNotes.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/copy.h
M libcxx/include/__algorithm/copy_backward.h
M libcxx/include/__algorithm/move.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__iterator/reverse_iterator.h
A libcxx/include/__iterator/segmented_iterator.h
M libcxx/include/deque
M libcxx/include/module.modulemap.in
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_iterator.compile.pass.cpp
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_range.compile.pass.cpp
M libcxx/test/libcxx/private_headers.verify.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
A libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.segmented.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp
M libcxx/test/support/test_iterators.h
Log Message:
-----------
[libc++] Refactor deque::iterator algorithm optimizations
This has multiple benefits:
- The optimizations are also performed for the `ranges::` versions of the algorithms
- Code duplication is reduced
- it is simpler to add this optimization for other segmented iterators,
like `ranges::join_view::iterator`
- Algorithm code is removed from `<deque>`
Reviewed By: ldionne, huixie90, #libc
Spies: mstorsjo, sstefan1, EricWF, libcxx-commits, mgorny
Differential Revision: https://reviews.llvm.org/D132505
More information about the All-commits
mailing list