nir: Copy-propagate vecN operations that are actually moves
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 20 Feb 2015 01:19:22 +0000 (17:19 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 23 Feb 2015 21:19:05 +0000 (13:19 -0800)
commitcb4b2ad44aad6bc5fcb2db594af38a6283bb7a4e
tree928a7df381716afc3a2f52c4423bdfa0382be947
parentf80af89d48f2c9045c7e0438a1b35d09be3e84d5
nir: Copy-propagate vecN operations that are actually moves

We were already do this for ALU operations but we haven't for non-ALU
operations.  This changes that.

total NIR instructions in shared programs: 2039883 -> 2022338 (-0.86%)
NIR instructions in affected programs:     1768850 -> 1751305 (-0.99%)
helped:                                    14244
HURT:                                      124

total FS instructions in shared programs: 4083960 -> 4084036 (0.00%)
FS instructions in affected programs:     7302 -> 7378 (1.04%)
helped:                                   12
HURT:                                     51

Signed-off-by: Jason Ekstrand <jason.ekstrand@intel.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/glsl/nir/nir_opt_copy_propagate.c