mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-15 22:30:20 +01:00
ir3: use opt_shrink_vectors
This is useful to remove unused components from IO loads. This is not only helpful for reducing the size of memory loads, but also for reducing register pressure (as we need smaller vector registers). Totals from 55567 (33.76% of 164575) affected shaders: MaxWaves: 665780 -> 666690 (+0.14%); split: +0.15%, -0.01% Instrs: 30850106 -> 30825516 (-0.08%); split: -0.33%, +0.25% CodeSize: 62502952 -> 62336580 (-0.27%); split: -0.42%, +0.15% NOPs: 5468972 -> 5463654 (-0.10%); split: -1.39%, +1.30% MOVs: 1078607 -> 1060627 (-1.67%); split: -3.48%, +1.81% Full: 807907 -> 805134 (-0.34%); split: -0.49%, +0.15% (ss): 755846 -> 747963 (-1.04%); split: -2.51%, +1.46% (sy): 367032 -> 363947 (-0.84%); split: -1.88%, +1.04% (ss)-stall: 2907874 -> 2900183 (-0.26%); split: -1.97%, +1.71% (sy)-stall: 10812082 -> 10599944 (-1.96%); split: -3.43%, +1.47% STPs: 23062 -> 22980 (-0.36%) LDPs: 35076 -> 32286 (-7.95%) Preamble Instrs: 6668422 -> 6612037 (-0.85%); split: -1.35%, +0.51% Early Preamble: 36055 -> 36169 (+0.32%); split: +0.32%, -0.01% Cat0: 6015654 -> 6009409 (-0.10%); split: -1.29%, +1.18% Cat1: 1631110 -> 1610537 (-1.26%); split: -2.54%, +1.28% Cat2: 11783599 -> 11783634 (+0.00%); split: -0.02%, +0.02% Cat3: 8198147 -> 8198526 (+0.00%); split: -0.00%, +0.01% Cat5: 968517 -> 967899 (-0.06%); split: -0.06%, +0.00% Cat6: 349200 -> 351795 (+0.74%); split: -0.01%, +0.75% Cat7: 1009072 -> 1008909 (-0.02%); split: -0.58%, +0.56% Signed-off-by: Job Noorman <jnoorman@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34600>
This commit is contained in:
parent
f269c7b3b5
commit
e7c6037d12
1 changed files with 3 additions and 0 deletions
|
|
@ -363,6 +363,9 @@ ir3_optimize_loop(struct ir3_compiler *compiler,
|
|||
progress |= OPT(s, nir_lower_bit_size, ir3_lower_bit_size, NULL);
|
||||
progress |= OPT(s, nir_opt_constant_folding);
|
||||
|
||||
/* Remove unused components from IO loads. */
|
||||
progress |= OPT(s, nir_opt_shrink_vectors, true);
|
||||
|
||||
const nir_opt_offsets_options offset_options = {
|
||||
/* How large an offset we can encode in the instr's immediate field.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue