nir: Add algebraic optimizations for pointless shifts.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 22 Jan 2015 07:25:56 +0000 (23:25 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Fri, 23 Jan 2015 22:53:26 +0000 (14:53 -0800)
commit551a752a592703a97dcee74765463bb15ccb8b14
tree8eddaa7314658513ac052e2963f2b99d83074796
parent3e56572c498bea3c41692c80c242883373dab42a
nir: Add algebraic optimizations for pointless shifts.

The GLSL IR optimization pass contained these; we may as well include
them too.

v2: Fix a >> 0 and a << 0 optimizations (caught by Matt).

No change in the number of NIR instructions on a shader-db run.

total i965 instructions in shared programs: 6035397 -> 6035392 (-0.00%)
i965 instructions in affected programs:     542 -> 537 (-0.92%)
helped:                                     2 (in glamor)

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/glsl/nir/nir_opt_algebraic.py