diff options
author | Peng Liu <winner245@hotmail.com> | 2025-02-19 11:36:45 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-19 11:36:45 -0500 |
commit | ab3d793982acb946afc2028ca41304913879c6c9 (patch) | |
tree | 0e2400808108a5cc3ac2df709d25fb9627f87c8d /clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp | |
parent | 70e693c77f0044643f3a301a0b7bc334a6e558c9 (diff) | |
download | llvm-ab3d793982acb946afc2028ca41304913879c6c9.zip llvm-ab3d793982acb946afc2028ca41304913879c6c9.tar.gz llvm-ab3d793982acb946afc2028ca41304913879c6c9.tar.bz2 |
[libc++] Optimize ranges::move{,_backward} for vector<bool>::iterator (#121109)
As a follow-up to #121013 (which optimized `ranges::copy`) and #121026
(which optimized `ranges::copy_backward`), this PR enhances the
performance of `std::ranges::{move, move_backward}` for
`vector<bool>::iterator`, addressing a subtask outlined in issue #64038.
The optimizations bring performance improvements analogous to those
achieved for the `{copy, copy_backward}` algorithms: up to 2000x for
aligned moves and 60x for unaligned moves. Moreover, comprehensive
tests covering up to 4 storage words (256 bytes) with odd and even bit
sizes are provided, which validate the proposed optimizations in this
patch.
Diffstat (limited to 'clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions