nir: don't turn ieq/ine into inot if used by an if
authorTimothy Arceri <timothy.arceri@collabora.com>
Sun, 8 Jan 2017 12:52:59 +0000 (23:52 +1100)
committerTimothy Arceri <timothy.arceri@collabora.com>
Wed, 11 Jan 2017 22:47:29 +0000 (09:47 +1100)
commitde8b03f5fbd32f12a0b8257a2ae8e4e26b5ca05b
treeaacd90ecec83d300f8279e716746f58d6c154438
parent7acc8652268205a266068ea4d059eccce43e1f78
nir: don't turn ieq/ine into inot if used by an if

Otherwise we will end up with an extra instruction to compare the
result of the inot.

On BDW:

total instructions in shared programs: 13060620 -> 13060481 (-0.00%)
instructions in affected programs: 103379 -> 103240 (-0.13%)
helped: 127
HURT: 0

total cycles in shared programs: 256590950 -> 256587408 (-0.00%)
cycles in affected programs: 11324730 -> 11321188 (-0.03%)
helped: 114
HURT: 21

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/compiler/nir/nir_opt_algebraic.py
src/compiler/nir/nir_search_helpers.h