Revert "radeonsi: use nir_opt_large_constants earlier"

This reverts commit df2eaba411.

We no longer use LCSSA because divergence analysis doesn't need it anymore.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
This commit is contained in:
Marek Olšák 2025-11-21 13:50:57 -05:00 committed by Marge Bot
parent 7f7dbf68f4
commit 68690eaf4a

View file

@ -420,19 +420,4 @@ void si_finalize_nir(struct pipe_screen *screen, struct nir_shader *nir,
if (sscreen->options.inline_uniforms)
nir_find_inlinable_uniforms(nir);
/* Lower large variables that are always constant with load_constant intrinsics, which
* get turned into PC-relative loads from a data section next to the shader.
*
* Run this once before lcssa because the added phis may prevent this
* pass from operating correctly.
*
* nir_opt_large_constants may use op_amul (see nir_build_deref_offset),
* or may create unneeded code, so run si_nir_opts if needed.
*/
NIR_PASS(_, nir, nir_remove_dead_variables, nir_var_function_temp, NULL);
bool progress = false;
NIR_PASS(progress, nir, nir_opt_large_constants, glsl_get_natural_size_align_bytes, 16);
if (progress)
si_nir_opts(sscreen, nir, false);
}