mesa/src/panfrost/midgard
Pavel Ondračka 1c72c71bdf nir/move_vec_src_uses_to_dest: allow to skip reuse of constant sources
And enable this for r300 and intel-vec4

crocus HSW (mostly helps few doplhin ubershaders):
total instructions in shared programs: 1576736 -> 1576589 (<.01%)
instructions in affected programs: 38235 -> 38088 (-0.38%)
helped: 12
HURT: 0
total cycles in shared programs: 111025838 -> 110944796 (-0.07%)
cycles in affected programs: 5646582 -> 5565540 (-1.44%)
helped: 15
HURT: 6
total spills in shared programs: 447 -> 432 (-3.36%)
spills in affected programs: 186 -> 171 (-8.06%)
helped: 12
HURT: 0
total fills in shared programs: 792 -> 774 (-2.27%)
fills in affected programs: 291 -> 273 (-6.19%)
helped: 12
HURT: 0

r300 RV530:
total instructions in shared programs: 96655 -> 96304 (-0.36%)
instructions in affected programs: 15020 -> 14669 (-2.34%)
helped: 79
HURT: 18
total temps in shared programs: 13027 -> 12952 (-0.58%)
temps in affected programs: 677 -> 602 (-11.08%)
helped: 41
HURT: 9
total cycles in shared programs: 147745 -> 147314 (-0.29%)
cycles in affected programs: 21831 -> 21400 (-1.97%)
helped: 84
HURT: 19

r300 RV370:
total instructions in shared programs: 63678 -> 63669 (-0.01%)
instructions in affected programs: 931 -> 922 (-0.97%)
helped: 12
HURT: 6
total temps in shared programs: 10028 -> 10013 (-0.15%)
temps in affected programs: 339 -> 324 (-4.42%)
helped: 33
HURT: 10
total cycles in shared programs: 101118 -> 101087 (-0.03%)
cycles in affected programs: 2659 -> 2628 (-1.17%)
helped: 22
HURT: 6

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24932>
2023-09-19 18:05:37 +02:00
..
compiler.h pan/mdg: Don't reference nir_dest 2023-08-14 21:22:52 +00:00
disassemble.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
disassemble.h panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
helpers.h pan/mdg: Remove reference to removed macro 2023-03-11 06:30:02 +00:00
meson.build pan/mdg: Propagate modifiers in the backend 2023-06-30 16:29:35 -04:00
midgard.h pan/mdg: Remove MSGS debug 2023-01-16 22:20:43 +00:00
midgard_address.c nir: Drop "SSA" from NIR language 2023-08-12 16:44:41 -04:00
midgard_compile.c nir/move_vec_src_uses_to_dest: allow to skip reuse of constant sources 2023-09-19 18:05:37 +02:00
midgard_compile.h nir: unify lower_bitfield_extract with has_bfe 2023-08-22 12:08:37 +00:00
midgard_derivatives.c nir: Drop nir_alu_dest 2023-08-14 21:22:53 +00:00
midgard_emit.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
midgard_errata_lod.c treewide: Drop nir_ssa_for_src users 2023-09-18 10:25:17 -04:00
midgard_helper_invocations.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
midgard_liveness.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
midgard_nir.h pan/mdg: Type CSEL with a NIR pass 2023-06-30 16:29:35 -04:00
midgard_nir_algebraic.py pan/mdg: Lower isub in common code 2023-06-30 16:29:35 -04:00
midgard_nir_lower_image_bitsize.c treewide: Drop nir_ssa_for_src users 2023-09-18 10:25:17 -04:00
midgard_nir_type_csel.c nir: Drop nir_alu_dest 2023-08-14 21:22:53 +00:00
midgard_ops.c panfrost: Fix up some formatting for clang-format 2022-12-24 02:22:57 +00:00
midgard_ops.h panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
midgard_opt_copy_prop.c pan/mdg: Copy-prop even with swizzle restrictions 2023-06-30 16:29:35 -04:00
midgard_opt_dce.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
midgard_opt_perspective.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
midgard_opt_prop.c pan/mdg: Propagate modifiers in the backend 2023-06-30 16:29:35 -04:00
midgard_print.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
midgard_print_constant.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
midgard_quirks.h panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
midgard_ra.c pan/mdg: Lower special reads better 2023-06-30 16:29:35 -04:00
midgard_ra_pipeline.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
midgard_schedule.c pan/mdg: Reset predicate.exclude while scheduling 2023-06-30 16:29:35 -04:00
mir.c pan/mdg: Fix temp count calculation 2023-06-30 16:29:35 -04:00
mir_promote_uniforms.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
mir_squeeze.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
nir_fuse_io_16.c nir: Drop nir_dest 2023-08-14 21:22:53 +00:00