Previously, we used one hashset per BB, so that we could always initialize the current hashset from the immediate dominator. This patch changes the behavior to a single hashmap using the block index per instruction to resolve dominance.
This patch greatly improves performance of value numbering from roughly 20% of aco's compile time down to < 5% for some average shaders.
- Code Size: 114455544 -> 114415344 (-0.04 %) bytes
The slight decrease in code size is due removing some restriction.