i965/fs: Allow copy propagation with source modifiers.
authorEric Anholt <eric@anholt.net>
Wed, 6 Jun 2012 18:06:51 +0000 (11:06 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 3 Jul 2012 19:57:04 +0000 (12:57 -0700)
commit0c4630bae001139dea42b78cd08157de4d90542b
treed43f4455c178b0085fdfac277ba74b0de527fdd4
parent458f7f014139deb48a4cf0a9e6bdca3a57d24208
i965/fs: Allow copy propagation with source modifiers.

This shaves a few instructions off of a ton of programs.  For 12
shaders from tropics and sanctuary, it's enough reduction in register
pressure to get 16-wide mode.  7 shaders from heroes of newerth and
savage2 are hurt by about 1.1%, where copy propagation of negates ends
up preventing coalescing, but we could regain that by doing dataflow
analysis in our copy propagation.

No significant performance difference in tropics (n=11)

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