libcxx __hash_table constrain_hash

Hi Eric,

Do you happen to remember which benchmarks you were looking at when you added the optimization here [1]? With aggressive if-conversion, those two optimizations are really only increasing the critical path, rather than providing the intended early exit fast-path. I’m wondering if we ought to conditionally apply these optimizations in the compiler instead, where we know whether if-conversion is likely to negate the gains.