Skip to content

nir/validate: Stop using hash tables/sets for nir_ssa_def validation

Looking at a perf dump of one particular FP64 shader with software fp64, most of the time is spent in nir_validate (no surprises there) and most of that time is spent on hash tables. #tablesareevil This change instead switches things to use a time-based index method for validating ssa use lists. The result is that that particular shader goes from taking 2:41 for the NIR-only portion of the compile to taking 56 seconds. Normally, we try to avoid mutating the nir_shader in any way during nir_validate but this is a pretty big perf boost so it may be worth it.

Merge request reports