Various set optimizations for NIR CSE
This series adds some new functionality to
struct set, and makes a few micro-optimizations, in order to make the NIR common subexpression elimination pass, which relies heavily on set searching, faster. After various other optimizations have landed, it's still currently one of the most expensive NIR passes.
Rather than past attempts to change the core algorithm, this series just makes the existing one faster, so there's less of a risk for a performance regression elsewhere. Here's an idea of the overall impact on shader-db compilation times:
Difference at 95.0% confidence -9.205 +/- 0.989221 -2.04459% +/- 0.219034% (Student's t, pooled s = 1.05282)