nir: also move b2i in case of nir_move_copies
authorDaniel Schürmann <daniel@schuermann.dev>
Wed, 29 Apr 2020 14:36:41 +0000 (15:36 +0100)
committerMarge Bot <eric+marge@anholt.net>
Mon, 20 Jul 2020 15:56:45 +0000 (15:56 +0000)
commite4281dbecc69495d01ddf4b21cddc92085f1cae0
tree4828ff18e81dcb99c58d0bd49d28e6ba1f8ca565
parentde0ebaf09d43cc1e530f11511441cab7266b7f20
nir: also move b2i in case of nir_move_copies

Booleans are often more efficient with register usage.
This also allows to move comparisons further.

Totals from affected shaders: (VEGA)
SGPRS: 451608 -> 450320 (-0.29 %)
VGPRS: 351448 -> 351256 (-0.05 %)
Spilled SGPRs: 105 -> 105 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 1008 -> 1008 (0.00 %) dwords per thread
Code Size: 26555596 -> 26551080 (-0.02 %) bytes
LDS: 10323 -> 10323 (0.00 %) blocks
Max Waves: 42850 -> 42934 (0.20 %)

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4830>
src/compiler/nir/nir_opt_sink.c