i965/fs: Allow copy propagation on uniforms.
authorEric Anholt <eric@anholt.net>
Thu, 7 Jun 2012 15:48:50 +0000 (08:48 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 3 Jul 2012 19:57:10 +0000 (12:57 -0700)
commitdd4282e38fd92c081875da6bce0b2345bd472532
tree049a9dddc9c9e1e8dfa0ba5dcb653fa66fbaac4c
parent0c4630bae001139dea42b78cd08157de4d90542b
i965/fs: Allow copy propagation on uniforms.

This is a big win for savage2, hon and yofrankie.  62 new programs for
savage2/hon get 16-wide mode, along with one for humus demos and two
for tropics.  Even a few shaders from tropics see reductions of 15% or
more.

total instructions in shared programs: 216536 -> 207353 (-4.24%)
instructions in affected programs:     123941 -> 114758 (-7.41%)

In benchmarking Tropics, only a .040% +/- 034% performance improvement
was observed (n=90).  Rather disappointing, but I was primarily
motivated to do this patch by a regression in the number of 16-wide
shaders compiled after a GRF texturing on IVB patch I'm working on.
Hopefully this helps avoid that regression.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp