[all-commits] [llvm/llvm-project] 5629d4: Reapply "[libc++][ranges]Refactor `copy{, _backward...

Konstantin Varlamov via All-commits all-commits at lists.llvm.org
Fri Jan 13 16:57:45 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5629d492df388bf6b5532a2a5c1ef5fd27d65ab0
      https://github.com/llvm/llvm-project/commit/5629d492df388bf6b5532a2a5c1ef5fd27d65ab0
  Author: varconst <varconsteq at gmail.com>
  Date:   2023-01-13 (Fri, 13 Jan 2023)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/copy.h
    M libcxx/include/__algorithm/copy_backward.h
    A libcxx/include/__algorithm/copy_move_common.h
    M libcxx/include/__algorithm/move.h
    M libcxx/include/__algorithm/move_backward.h
    M libcxx/include/__algorithm/ranges_copy.h
    M libcxx/include/__algorithm/ranges_copy_backward.h
    M libcxx/include/__algorithm/ranges_copy_n.h
    M libcxx/include/__algorithm/ranges_move.h
    M libcxx/include/__algorithm/ranges_move_backward.h
    M libcxx/include/__algorithm/ranges_set_difference.h
    M libcxx/include/__algorithm/ranges_set_symmetric_difference.h
    M libcxx/include/__algorithm/ranges_set_union.h
    M libcxx/include/__algorithm/rotate.h
    M libcxx/include/__algorithm/set_difference.h
    M libcxx/include/__algorithm/set_symmetric_difference.h
    M libcxx/include/__algorithm/set_union.h
    M libcxx/include/__iterator/reverse_iterator.h
    A libcxx/include/__type_traits/is_always_bitcastable.h
    M libcxx/include/algorithm
    M libcxx/include/module.modulemap.in
    M libcxx/include/valarray
    R libcxx/test/libcxx/algorithms/alg.modifying.operations/copy.pass.cpp
    A libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_nontrivial.pass.cpp
    A libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_trivial.pass.cpp
    A libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_unwrap_reverse.pass.cpp
    M libcxx/test/libcxx/private_headers.verify.cpp
    M libcxx/test/libcxx/transitive_includes/cxx2b.csv
    A libcxx/test/libcxx/type_traits/is_always_bitcastable.compile.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/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/ostream.pass.cpp
    M libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
    M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp
    M libcxx/test/std/utilities/charconv/charconv.to.chars/integral.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/P2418.pass.cpp
    M libcxx/test/std/utilities/format/format.tuple/format.functions.vformat.pass.cpp

  Log Message:
  -----------
  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




More information about the All-commits mailing list