mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 21:50:12 +01:00
brw: Use nir_opt_sink and more nir_opt_move
The shader-db results on most platforms are pretty mixed. However, this seems to be a decent improvement in fossil-db. shader-db:: Lunar Lake total instructions in shared programs: 17019147 -> 17023017 (0.02%) instructions in affected programs: 1200847 -> 1204717 (0.32%) helped: 814 / HURT: 2458 total cycles in shared programs: 880532116 -> 880406462 (-0.01%) cycles in affected programs: 798253846 -> 798128192 (-0.02%) helped: 30064 / HURT: 33008 total spills in shared programs: 3262 -> 3260 (-0.06%) spills in affected programs: 66 -> 64 (-3.03%) helped: 1 / HURT: 2 total fills in shared programs: 1616 -> 1637 (1.30%) fills in affected programs: 89 -> 110 (23.60%) helped: 1 / HURT: 2 LOST: 241 GAINED: 356 Meteor Lake, DG2, and Tiger Lake had similar results. (Meteor Lake shown) total instructions in shared programs: 19859724 -> 19865383 (0.03%) instructions in affected programs: 2166810 -> 2172469 (0.26%) helped: 942 / HURT: 3563 total cycles in shared programs: 879095859 -> 878616086 (-0.05%) cycles in affected programs: 753840990 -> 753361217 (-0.06%) helped: 33442 / HURT: 35053 total spills in shared programs: 4679 -> 4677 (-0.04%) spills in affected programs: 80 -> 78 (-2.50%) helped: 1 / HURT: 2 total fills in shared programs: 4113 -> 4175 (1.51%) fills in affected programs: 87 -> 149 (71.26%) helped: 1 / HURT: 2 LOST: 706 GAINED: 563 Ice Lake and Skylake had similar results. (Ice Lake shown) total instructions in shared programs: 20610947 -> 20615741 (0.02%) instructions in affected programs: 2138334 -> 2143128 (0.22%) helped: 979 / HURT: 3635 total cycles in shared programs: 863103771 -> 862153697 (-0.11%) cycles in affected programs: 731626072 -> 730675998 (-0.13%) helped: 34060 / HURT: 34256 total spills in shared programs: 3992 -> 3949 (-1.08%) spills in affected programs: 504 -> 461 (-8.53%) helped: 8 / HURT: 6 total fills in shared programs: 3640 -> 3573 (-1.84%) fills in affected programs: 1505 -> 1438 (-4.45%) helped: 8 / HURT: 5 LOST: 622 GAINED: 1018 fossil-db: All Intel platforms had similar results. (Lunar Lake shown) Totals: Instrs: 232649299 -> 232485503 (-0.07%); split: -0.16%, +0.09% Subgroup size: 15932144 -> 15933056 (+0.01%); split: +0.01%, -0.00% Loop count: 137431 -> 137430 (-0.00%) Cycle count: 32619860020 -> 32714539770 (+0.29%); split: -0.80%, +1.09% Spill count: 540835 -> 519861 (-3.88%); split: -4.79%, +0.91% Fill count: 700278 -> 663650 (-5.23%); split: -6.46%, +1.23% Scratch Memory Size: 37258240 -> 35654656 (-4.30%); split: -5.24%, +0.94% Max live registers: 72561256 -> 71501759 (-1.46%); split: -1.62%, +0.16% Non SSA regs after NIR: 67682385 -> 67692495 (+0.01%); split: -0.00%, +0.02% Totals from 617432 (78.20% of 789594) affected shaders: Instrs: 217754449 -> 217590653 (-0.08%); split: -0.17%, +0.10% Subgroup size: 12656912 -> 12657824 (+0.01%); split: +0.01%, -0.00% Loop count: 133283 -> 133282 (-0.00%) Cycle count: 32367979192 -> 32462658942 (+0.29%); split: -0.81%, +1.10% Spill count: 540770 -> 519796 (-3.88%); split: -4.79%, +0.91% Fill count: 700277 -> 663649 (-5.23%); split: -6.46%, +1.23% Scratch Memory Size: 37182464 -> 35578880 (-4.31%); split: -5.25%, +0.94% Max live registers: 64912683 -> 63853186 (-1.63%); split: -1.81%, +0.18% Non SSA regs after NIR: 60158776 -> 60168886 (+0.02%); split: -0.00%, +0.02% Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25463>
This commit is contained in:
parent
3b5b68dbfb
commit
6f30cf71fe
1 changed files with 8 additions and 1 deletions
|
|
@ -2145,7 +2145,14 @@ brw_postprocess_nir(nir_shader *nir, const struct brw_compiler *compiler,
|
|||
|
||||
OPT(nir_copy_prop);
|
||||
OPT(nir_opt_dce);
|
||||
OPT(nir_opt_move, nir_move_comparisons);
|
||||
|
||||
nir_move_options move_all = nir_move_const_undef | nir_move_load_ubo |
|
||||
nir_move_load_input | nir_move_comparisons |
|
||||
nir_move_copies | nir_move_load_ssbo |
|
||||
nir_move_alu;
|
||||
|
||||
OPT(nir_opt_sink, move_all);
|
||||
OPT(nir_opt_move, move_all);
|
||||
OPT(nir_opt_dead_cf);
|
||||
|
||||
static const nir_lower_subgroups_options subgroups_options = {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue