diff --git a/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c b/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c index 448edf58ea7..d7f35e97961 100644 --- a/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c +++ b/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c @@ -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); diff --git a/src/compiler/nir/nir_lower_shader_calls.c b/src/compiler/nir/nir_lower_shader_calls.c index c2aea593aea..f44bf5eae2f 100644 --- a/src/compiler/nir/nir_lower_shader_calls.c +++ b/src/compiler/nir/nir_lower_shader_calls.c @@ -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) { diff --git a/src/compiler/nir/nir_opt_gcm.c b/src/compiler/nir/nir_opt_gcm.c index 5929bac28cb..c7cda3c6aa8 100644 --- a/src/compiler/nir/nir_opt_gcm.c +++ b/src/compiler/nir/nir_opt_gcm.c @@ -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); diff --git a/src/compiler/nir/nir_opt_if.c b/src/compiler/nir/nir_opt_if.c index fcb0b8f2189..24dd1348ee8 100644 --- a/src/compiler/nir/nir_opt_if.c +++ b/src/compiler/nir/nir_opt_if.c @@ -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); diff --git a/src/compiler/nir/nir_opt_sink.c b/src/compiler/nir/nir_opt_sink.c index fb0ef7d62d3..1cf8ea0af94 100644 --- a/src/compiler/nir/nir_opt_sink.c +++ b/src/compiler/nir/nir_opt_sink.c @@ -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)); diff --git a/src/compiler/nir/nir_opt_vectorize.c b/src/compiler/nir/nir_opt_vectorize.c index 69fb720f77a..0a433855bb6 100644 --- a/src/compiler/nir/nir_opt_vectorize.c +++ b/src/compiler/nir/nir_opt_vectorize.c @@ -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; diff --git a/src/compiler/nir/nir_repair_ssa.c b/src/compiler/nir/nir_repair_ssa.c index fef6b6eb347..4cc7d7c7968 100644 --- a/src/compiler/nir/nir_repair_ssa.c +++ b/src/compiler/nir/nir_repair_ssa.c @@ -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) {