[Mesa-dev] [PATCH 0/2] Prevent regression with changes to nir_opt_if

Ian Romanick idr at freedesktop.org
Fri Jun 1 22:19:11 UTC 2018


On 06/01/2018 01:33 AM, Samuel Pitoiset wrote:
> Thanks! I guess you are now okay with my nir_opt_if changes?

Yeah, it should be fine.

> I have one minor regression with one shader of RoTR but that shouldn't
> matter.
> 
> Series is:
> 
> Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> 
> On 06/01/2018 02:21 AM, Ian Romanick wrote:
>> This series fixes the most agregious regressions caused by the
>> nir_opt_if changes, and it's somewhat helpful in its own right.
>>
>> The i965 driver already has a pass in the backend that cleans up
>> if-then-else sequence that have one block (the then-block or the
>> else-block) that is empty.  As a result, there's not much benefit.  I
>> looked at several of the shaders that were changed.  It appears that all
>> changes are due to changes in register allocation and scheduling.  A lot
>> of shaders were helped or hurt by one or two instructions due to using
>> fewere or more move instructions to handle phi nodes.  On some platforms
>> that saved a spill and a fill, and that change accounted for most-helped
>> shaders.
>>
>> Skylake
>> total instructions in shared programs: 14369555 -> 14369377 (<.01%)
>> instructions in affected programs: 132939 -> 132761 (-0.13%)
>> helped: 175
>> HURT: 243
>> helped stats (abs) min: 1 max: 27 x̄: 2.43 x̃: 2
>> helped stats (rel) min: 0.31% max: 6.52% x̄: 1.69% x̃: 1.05%
>> HURT stats (abs)   min: 1 max: 2 x̄: 1.02 x̃: 1
>> HURT stats (rel)   min: 0.08% max: 1.39% x̄: 0.44% x̃: 0.25%
>> 95% mean confidence interval for instructions value: -0.65 -0.20
>> 95% mean confidence interval for instructions %-change: -0.59% -0.32%
>> Instructions are helped.
>>
>> total cycles in shared programs: 532425743 -> 532398150 (<.01%)
>> cycles in affected programs: 3619466 -> 3591873 (-0.76%)
>> helped: 240
>> HURT: 265
>> helped stats (abs) min: 1 max: 2700 x̄: 128.51 x̃: 16
>> helped stats (rel) min: <.01% max: 24.11% x̄: 4.96% x̃: 1.11%
>> HURT stats (abs)   min: 1 max: 288 x̄: 12.26 x̃: 3
>> HURT stats (rel)   min: <.01% max: 22.74% x̄: 0.67% x̃: 0.37%
>> 95% mean confidence interval for cycles value: -70.36 -38.92
>> 95% mean confidence interval for cycles %-change: -2.50% -1.51%
>> Cycles are helped.
>>
>> total spills in shared programs: 8114 -> 8111 (-0.04%)
>> spills in affected programs: 50 -> 47 (-6.00%)
>> helped: 1
>> HURT: 0
>>
>> total fills in shared programs: 11082 -> 11077 (-0.05%)
>> fills in affected programs: 68 -> 63 (-7.35%)
>> helped: 1
>> HURT: 0
>>
>>
>> Broadwell
>> total instructions in shared programs: 14689170 -> 14689155 (<.01%)
>> instructions in affected programs: 118611 -> 118596 (-0.01%)
>> helped: 106
>> HURT: 243
>> helped stats (abs) min: 1 max: 9 x̄: 2.47 x̃: 2
>> helped stats (rel) min: 0.31% max: 6.52% x̄: 2.18% x̃: 2.33%
>> HURT stats (abs)   min: 1 max: 2 x̄: 1.02 x̃: 1
>> HURT stats (rel)   min: 0.08% max: 1.39% x̄: 0.43% x̃: 0.25%
>> 95% mean confidence interval for instructions value: -0.24 0.16
>> 95% mean confidence interval for instructions %-change: -0.51% -0.21%
>> Inconclusive result (value mean confidence interval includes 0).
>>
>> total cycles in shared programs: 559122343 -> 559123022 (<.01%)
>> cycles in affected programs: 2993783 -> 2994462 (0.02%)
>> helped: 178
>> HURT: 273
>> helped stats (abs) min: 1 max: 2422 x̄: 46.89 x̃: 10
>> helped stats (rel) min: <.01% max: 13.69% x̄: 1.40% x̃: 0.71%
>> HURT stats (abs)   min: 1 max: 5414 x̄: 33.06 x̃: 4
>> HURT stats (rel)   min: <.01% max: 17.22% x̄: 0.54% x̃: 0.38%
>> 95% mean confidence interval for cycles value: -25.51 28.53
>> 95% mean confidence interval for cycles %-change: -0.43% -0.03%
>> Inconclusive result (value mean confidence interval includes 0).
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
> 



More information about the mesa-dev mailing list