[all-commits] [llvm/llvm-project] e9280a: [libc++] Backport segmented iterator optimization ...

Peng Liu via All-commits all-commits at lists.llvm.org
Sat Apr 19 04:13:04 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e9280a1d39af88468ffea9a14fad5bf96d51d6e6
      https://github.com/llvm/llvm-project/commit/e9280a1d39af88468ffea9a14fad5bf96d51d6e6
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-04-19 (Sat, 19 Apr 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/include/__algorithm/for_each.h
    M libcxx/include/algorithm
    M libcxx/include/array
    M libcxx/include/bitset
    M libcxx/include/codecvt
    M libcxx/include/condition_variable
    M libcxx/include/ios
    M libcxx/include/locale
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/system_error
    M libcxx/include/vector
    M libcxx/test/libcxx/algorithms/robust_against_copying_comparators.pass.cpp

  Log Message:
  -----------
  [libc++] Backport segmented iterator optimization for std::for_each to C++11 (#134960)

Previously, the segmented iterator optimization for `std::for_each` was restricted to C++23 and later due to its dependency on `__movable_box`, which is not available in earlier standards. This patch eliminates that restriction, enabling consistent optimizations starting from C++11. 

By backporting this enhancement, we improve performance across older standards and create opportunities to extend similar optimizations to other algorithms by forwarding their calls to `std::for_each`.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list