[PATCH] D93233: [libc++] Replaces std::sort by Bitset sorting algorithm.

Louis Dionne via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 6 15:08:08 PDT 2021


ldionne updated this revision to Diff 377704.
ldionne added a comment.
Herald added a subscriber: mgorny.

- Rebase onto main
- Keep the old std::sort implementation around for ABI compatibility
- Do not explicitly instantiate bitset sort in the library -- that ties our hands too much

Still left to do:

- Some tests are failing, they need to be investigated
- Do basic code size testing since we're not instantiating the sorts in the dylib anymore -- does it cause the size of user programs to blow up badly?
- Make sure I applied the diff correctly - I had to do it manually but the diff was generated weirdly, so I'm not sure the diff I applied is correct.
- We need to decide on the visibility of implementation detail functions. We probably want to sprinkle `_LIBCPP_HIDE_FROM_ABI` all around.

Ideally @minjaehwang if you could commandeer this again and make those fixes, that would be awesome. From here on, it should be fairly straightforward to make changes until we can ship this, since I should have handled most of the annoying libc++ specific things.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D93233/new/

https://reviews.llvm.org/D93233

Files:
  libcxx/include/__algorithm/nth_element.h
  libcxx/include/__algorithm/sort.h
  libcxx/include/__algorithm/stable_sort.h
  libcxx/src/CMakeLists.txt
  libcxx/src/algorithm.cpp
  libcxx/src/legacy-sort.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D93233.377704.patch
Type: text/x-patch
Size: 69390 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211006/016813ae/attachment.bin>


More information about the llvm-commits mailing list