[PATCH] D52697: Bug 39129: Speeding up partition_point/lower_bound/upper_bound/ by using unsigned division by 2 when possible.
Marshall Clow via Phabricator
reviews at reviews.llvm.org
Sun Sep 30 15:14:19 PDT 2018
mclow.lists added a comment.
In https://reviews.llvm.org/D52697#1250269, @dyaroshev wrote:
> - In general, this is the kind of optimization that I would rather see the compiler do (everywhere, automatically) than libc++ (here and there, manually).
> I don't think it can, can it? The optimization comes from knowing the last - first will never be < 0. How would the compiler know that?
We can tell the compiler that `std::distance` always returns >= 0.
The optimizer already knows a lot about various standard library calls.
More information about the libcxx-commits