glsl: Drop no-op shifts involving 0.
authorEric Anholt <eric@anholt.net>
Tue, 22 Oct 2013 00:01:49 +0000 (17:01 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 28 Oct 2013 21:07:31 +0000 (14:07 -0700)
commit08bf52712e9dbd32ea3e4855c3446eba624fc890
tree7c30380a6b9becc9c3977629a4c5edbe5044d1e9
parent3a0fdf2ab6ab9c66c50645409d8f79bcd6f8ed1b
glsl: Drop no-op shifts involving 0.

I noticed this in a shader in Unigine Heaven that was spilling.  While it
doesn't really reduce register pressure, it shaves a few instructions
anyway (7955 -> 7882).

v2: Fix turning "0 >> x" into "x" instead of "0" (caught by Erik
    Faye-Lund).

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/glsl/opt_algebraic.cpp