glsl: Improve the local dead code optimization to eliminate unused channels.
authorEric Anholt <eric@anholt.net>
Thu, 23 Feb 2012 19:51:04 +0000 (11:51 -0800)
committerEric Anholt <eric@anholt.net>
Thu, 17 May 2012 17:05:23 +0000 (10:05 -0700)
commit05c200bac049ed4760f0af6786e463e2520b9c9c
tree3628b7cc2b72e515027218f05c8dec523f9e0b40
parentf220f73b9c5aca16ca21ea8bbbbf8718703b12cf
glsl: Improve the local dead code optimization to eliminate unused channels.

Total instructions: 261582 -> 261316
135/2147 programs affected (6.3%)
36752 -> 36486 instructions in affected programs (0.7% reduction)

This excludes a tropics shader that now gets 16-wide mode and throws
off the numbers.  5 shaders are hurt: two extra MOVs in 4 tropics
shaders it looks like because we don't split register names according
to independent webs, and one gstreamer shader where it looks like
try_rewrite_rhs_to_dst() is falling on its face.

This should also help avoid a regression in VSes from idr's ARB
programs to GLSL work.
src/glsl/opt_dead_code_local.cpp