mesa/src/compiler
Daniel Schürmann 6313e9f549 nir/opt_loop: Relax restrictions on opt_loop_peel_initial_break() for more loops
In addition to loops where the break condition can be constant-folded,
we also allow to peel the initial break from loops which have at least
one phi with a constant loop-carried source, effectively removing that
phi from the loop.

Totals from 172 (0.22% of 79377) affected shaders: (Navi31)
Instrs: 372798 -> 369181 (-0.97%); split: -1.07%, +0.10%
CodeSize: 1907312 -> 1891948 (-0.81%); split: -0.89%, +0.09%
VGPRs: 8436 -> 8460 (+0.28%)
Latency: 3646016 -> 3396657 (-6.84%)
InvThroughput: 434848 -> 389079 (-10.53%)
Copies: 28436 -> 27118 (-4.63%); split: -4.79%, +0.15%
Branches: 26504 -> 25344 (-4.38%); split: -4.44%, +0.06%
PreSGPRs: 8585 -> 8603 (+0.21%)
VALU: 148291 -> 148355 (+0.04%); split: -0.01%, +0.06%
SALU: 95625 -> 92649 (-3.11%); split: -3.22%, +0.11%

Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33666>
2026-01-26 12:02:49 +00:00
..
clc clc: handle all optional subgroup extensions 2026-01-09 21:53:28 +00:00
glsl nir: Extract blend equation helpers to shared header 2026-01-24 21:44:01 +00:00
isaspec treewide: use BITSET_BYTES, BITSET_RZALLOC 2025-11-05 18:44:23 +00:00
libcl libcl: avoid calling UNREACHABLE(str) macro without arguments 2025-08-04 23:15:18 +02:00
nir nir/opt_loop: Relax restrictions on opt_loop_peel_initial_break() for more loops 2026-01-26 12:02:49 +00:00
rust compiler/rust: drop "borrow of a value the compiler would automatically borrow" 2025-12-20 00:13:19 +01:00
spirv spirv: Check Capability for identifying SPV_NV_mesh_shader 2026-01-25 05:11:00 +00:00
builtin_types.py compiler: add float8 glsl types 2025-06-23 07:59:24 +00:00
builtin_types_c.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
builtin_types_h.py compiler: Generate files with newline at end 2025-06-24 14:01:04 +00:00
glsl_types.c compiler: Add FP8 types to GLSL type decoder 2025-12-19 00:09:53 +00:00
glsl_types.h glsl, mesa: add EXT_shader_pixel_local_storage extension 2025-11-18 20:25:43 +00:00
list.h nir: remove unused stuff from list.h 2025-07-31 20:23:04 +00:00
meson.build nir, glsl: Add support for softfloat32 2025-11-14 19:31:17 +00:00
shader_enums.c nir, ir3: Make ir3 GS varyings use a proper index 2026-01-21 20:54:15 +00:00
shader_enums.h compiler/mesa/st: Move gl_advanced_blend_mode to util/blend.h 2026-01-24 21:44:00 +00:00
shader_info.h glsl/nir: Add texture_buffers to shader info 2026-01-13 10:00:58 +01:00