nir: Don't require nir_metadata_control_flow

We're about to add to nir_metadata_control_flow, and we don't want
passes to require the new metadata.

Via coccinelle:

@@
expression e1;
@@
- nir_metadata_require(e1, nir_metadata_control_flow)
+ nir_metadata_require(e1, nir_metadata_block_index | nir_metadata_dominance)

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36184>
This commit is contained in:
Mel Henning 2025-07-23 18:19:26 -04:00 committed by Marge Bot
parent 162f07f80c
commit ee8d448241
7 changed files with 13 additions and 7 deletions

View file

@ -131,7 +131,8 @@ nir_lower_reg_intrinsics_to_ssa_impl(nir_function_impl *impl)
return nir_no_progress(impl);
}
nir_metadata_require(impl, nir_metadata_control_flow);
nir_metadata_require(impl,
nir_metadata_block_index | nir_metadata_dominance);
nir_index_ssa_defs(impl);
void *dead_ctx = ralloc_context(NULL);

View file

@ -1799,7 +1799,8 @@ nir_opt_stack_loads(nir_shader *shader)
bool progress = false;
nir_foreach_function_impl(impl, shader) {
nir_metadata_require(impl, nir_metadata_control_flow);
nir_metadata_require(impl,
nir_metadata_block_index | nir_metadata_dominance);
bool func_progress = false;
nir_foreach_block_safe(block, impl) {

View file

@ -796,7 +796,8 @@ weak_gvn(const nir_instr *a, const nir_instr *b)
static bool
opt_gcm_impl(nir_shader *shader, nir_function_impl *impl, bool value_number)
{
nir_metadata_require(impl, nir_metadata_control_flow);
nir_metadata_require(impl,
nir_metadata_block_index | nir_metadata_dominance);
nir_metadata_require(impl, nir_metadata_loop_analysis,
shader->options->force_indirect_unrolling,
shader->options->force_indirect_unrolling_sampler);

View file

@ -1445,7 +1445,8 @@ nir_opt_if(nir_shader *shader, nir_opt_if_options options)
nir_foreach_function_impl(impl, shader) {
nir_builder b = nir_builder_create(impl);
nir_metadata_require(impl, nir_metadata_control_flow);
nir_metadata_require(impl,
nir_metadata_block_index | nir_metadata_dominance);
progress = opt_if_safe_cf_list(&b, &impl->body, options);
nir_progress(true, impl, nir_metadata_control_flow);

View file

@ -362,7 +362,7 @@ nir_opt_sink(nir_shader *shader, nir_move_options options)
nir_foreach_function_impl(impl, shader) {
nir_metadata_require(impl,
nir_metadata_control_flow |
nir_metadata_block_index | nir_metadata_dominance |
(options & (nir_move_only_convergent |
nir_move_only_divergent) ?
nir_metadata_divergence : 0));

View file

@ -587,7 +587,8 @@ nir_opt_vectorize_impl(nir_function_impl *impl,
struct set instr_set;
vec_instr_set_init(&instr_set);
nir_metadata_require(impl, nir_metadata_control_flow);
nir_metadata_require(impl,
nir_metadata_block_index | nir_metadata_dominance);
bool progress = false;

View file

@ -151,7 +151,8 @@ nir_repair_ssa_impl(nir_function_impl *impl)
state.phi_builder = NULL;
state.progress = false;
nir_metadata_require(impl, nir_metadata_control_flow);
nir_metadata_require(impl,
nir_metadata_block_index | nir_metadata_dominance);
nir_foreach_block_unstructured(block, impl) {
nir_foreach_instr_safe(instr, block) {