Skip to content

nir: Simple value range analysis pass

Ian Romanick requested to merge idr/mesa:review/simple-range-analysis into master

Results across the whole series:

Ice Lake
total instructions in shared programs: 16328594 -> 16273083 (-0.34%)
instructions in affected programs: 3416951 -> 3361440 (-1.62%)
helped: 12652
HURT: 399
helped stats (abs) min: 1 max: 275 x̄: 4.42 x̃: 2
helped stats (rel) min: 0.04% max: 43.75% x̄: 2.37% x̃: 1.18%
HURT stats (abs)   min: 1 max: 7 x̄: 1.02 x̃: 1
HURT stats (rel)   min: 0.28% max: 2.94% x̄: 0.99% x̃: 0.98%
95% mean confidence interval for instructions value: -4.40 -4.11
95% mean confidence interval for instructions %-change: -2.33% -2.21%
Instructions are helped.

total cycles in shared programs: 367537113 -> 367082134 (-0.12%)
cycles in affected programs: 140336347 -> 139881368 (-0.32%)
helped: 10151
HURT: 1951
helped stats (abs) min: 1 max: 12802 x̄: 62.36 x̃: 18
helped stats (rel) min: <.01% max: 75.85% x̄: 3.16% x̃: 1.64%
HURT stats (abs)   min: 1 max: 2372 x̄: 91.27 x̃: 16
HURT stats (rel)   min: <.01% max: 64.39% x̄: 2.66% x̃: 0.79%
95% mean confidence interval for cycles value: -42.07 -33.12
95% mean confidence interval for cycles %-change: -2.32% -2.13%
Cycles are helped.

total spills in shared programs: 8867 -> 8870 (0.03%)
spills in affected programs: 46 -> 49 (6.52%)
helped: 0
HURT: 2

total fills in shared programs: 21900 -> 21904 (0.02%)
fills in affected programs: 120 -> 124 (3.33%)
helped: 0
HURT: 2

LOST:   1
GAINED: 4

Overall, most Intel platforms had pretty similar results.

All of the nir/range-analysis: patches could get squashed together. I kept time separate mostly to ease review.

There are some additional patches that didn't make the cut. These are also available.

Edited by Ian Romanick

Merge request reports