[libcxx-commits] [PATCH] D63063: Bug 42208: speeding up std::merge

Denis Yaroshevskiy via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sat Jun 29 14:27:34 PDT 2019


dyaroshev added a comment.

Update:

>From the comments on the optimiser bugs created I take that this type of code transformation is not feasible in a foreseeable future.
The reason is that this code structure has a non-canonical loop structure and optimiser really likes it's single entry loops.

With this I suggest to use if (is_constant_evaluated) because this is a good win. Since it doesn't have to be constexpr until C++20, I think it should be OK.
I was putting this solution together - since clang already supports this (at least the function is in libc++) but then I had to work on other staff.

What do you think about this approach?

If you OK with it, I can most likely come back to working on this in 2 weeks time - or if somebody else wants to finish this- I'm also happy with that.


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

https://reviews.llvm.org/D63063





More information about the libcxx-commits mailing list