mesa/src/intel/compiler/jay
Alyssa Rosenzweig 37e4144693 jay/register_allocate: set num_regs[MEM] properly
this is both a correctness fix (insufficient MEM registers reserved in some
cases) and a performance fix (unnecessary allocations & zeroing in the RA when
we don't spill).

fixes dEQP-VK.dgc.ext.compute.misc.scratch_space

stats are noise but positive i guess.

Totals from 35 (1.32% of 2647) affected shaders:
Instrs: 396770 -> 396690 (-0.02%)
CodeSize: 6040832 -> 6039600 (-0.02%)

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41510>
2026-05-12 22:46:35 +00:00
..
test jay: do moves on the float pipe where possible 2026-05-06 23:25:25 +00:00
.clang-format
jay.h
jay_assign_accumulators.c jay: assign accumulators post-RA 2026-05-06 23:25:25 +00:00
jay_assign_flags.c jay: drop a bunch of stale TODO and XXX 2026-04-28 23:13:50 +00:00
jay_builder.h jay: introduce a physical control flow graph 2026-04-28 23:13:50 +00:00
jay_builder_opcodes.h.py
jay_extra_info.h.py
jay_from_nir.c jay/lower_scoreboard: refactor 2026-05-12 22:46:33 +00:00
jay_insert_fp_mode.c jay: introduce a physical control flow graph 2026-04-28 23:13:50 +00:00
jay_ir.h jay: fix comment 2026-05-12 22:46:32 +00:00
jay_liveness.c jay: introduce a physical control flow graph 2026-04-28 23:13:50 +00:00
jay_lower_post_ra.c jay: have proper UNDEF 2026-05-12 22:46:32 +00:00
jay_lower_pre_ra.c jay: fix bfn with 0xffff constant 2026-05-12 22:46:30 +00:00
jay_lower_scoreboard.c jay/lower_scoreboard: use sbid syncs to elide regdist deps 2026-05-12 22:46:35 +00:00
jay_lower_spill.c jay: drop UGPR->UMEM spilling path 2026-04-28 23:13:50 +00:00
jay_nir.c iris: Implement force_dual_color_blend_by_location via NIR 2026-05-07 08:29:40 +00:00
jay_nir_algebraic.py
jay_opcodes.py jay: have proper UNDEF 2026-05-12 22:46:32 +00:00
jay_opcodes_gen.py
jay_opt_dead_code.c jay/opt_dead_code: handle predication 2026-04-20 22:32:02 +00:00
jay_opt_predicate.c jay: predicate NoMask instructions in uniform IF's 2026-04-28 23:13:50 +00:00
jay_opt_propagate.c jay: propagate inverse-ballots only locally 2026-04-28 23:13:50 +00:00
jay_print.c jay: drop UGPR->UMEM spilling path 2026-04-28 23:13:50 +00:00
jay_private.h jay/lower_scoreboard: refactor 2026-05-12 22:46:33 +00:00
jay_prog_data.c brw: Stop tracking inline parameter usage in prog_key/prog_data 2026-04-30 16:39:22 +00:00
jay_register_allocate.c jay/register_allocate: set num_regs[MEM] properly 2026-05-12 22:46:35 +00:00
jay_repair_ssa.c jay: introduce a physical control flow graph 2026-04-28 23:13:50 +00:00
jay_simd_width.c jay: drop a bunch of stale TODO and XXX 2026-04-28 23:13:50 +00:00
jay_spill.c jay: drop UGPR->UMEM spilling path 2026-04-28 23:13:50 +00:00
jay_to_binary.c jay: fix bfn with 0xffff constant 2026-05-12 22:46:30 +00:00
jay_validate.c jay/lower_scoreboard: be the sole emitter of SYNC 2026-05-06 23:25:26 +00:00
jay_validate_ra.c jay: drop a bunch of stale TODO and XXX 2026-04-28 23:13:50 +00:00
meson.build jay: assign accumulators post-RA 2026-05-06 23:25:25 +00:00
README.md jay: clarify development model 2026-05-12 22:46:32 +00:00
register-file.md

Xe2 compiler experiments.

Work-in-progress, not ready for users/benchmarks.


Jay is written by humans, not Large Language Models, due to our focus on delivering high quality software and nurturing healthy software teams. For information on the issues, see the notes of veteran Mesa developers like Erik Faye-Lund. Please respect our wishes and do not send Jay patches that are not human authored. Thank you!