nir/algebraic: optimize contradictory iand operands
authorRhys Perry <pendingchaos02@gmail.com>
Fri, 28 Jun 2019 15:13:04 +0000 (16:13 +0100)
committerRhys Perry <pendingchaos02+freedesktop@gmail.com>
Fri, 19 Jul 2019 16:33:01 +0000 (16:33 +0000)
commit79801b9d7ddad141d8c0e474d6d10aac11604635
tree65ac71f554526c512478effcab06bf0bb12182c3
parent32ced14badc14f6b7d3c4c0738c83074ea68ea7d
nir/algebraic: optimize contradictory iand operands

Some of these were found in a few GTAV, Rise of the Tomb Raider and
Shadow of the Tomb Raider shaders.

Results from vkpipeline-db run with ACO:
Totals from affected shaders:
SGPRS: 376 -> 376 (0.00 %)
VGPRS: 220 -> 220 (0.00 %)
Spilled SGPRs: 0 -> 0 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 13492 -> 11560 (-14.32 %) bytes
LDS: 6 -> 6 (0.00 %) blocks
Max Waves: 69 -> 69 (0.00 %)
Wait states: 0 -> 0 (0.00 %)

v2: use False instead of 0

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reveiewed-by: Alyssa Rosenzweig alyssa.rosenzweig@collabora.com
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
src/compiler/nir/nir_opt_algebraic.py