Skip to content

aco: refactor value numbering

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.

Merge request reports