nir: Call nir_metadata_preserve on !progress
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5171>
This commit is contained in:

committed by
Marge Bot

parent
b0d1f9a72f
commit
5e1c42d85f
@@ -1975,9 +1975,7 @@ nir_function_impl_lower_instructions(nir_function_impl *impl,
|
||||
if (progress) {
|
||||
nir_metadata_preserve(impl, preserved);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -1032,9 +1032,7 @@ nir_opt_deref_impl(nir_function_impl *impl)
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -143,9 +143,7 @@ inline_function_impl(nir_function_impl *impl, struct set *inlined)
|
||||
|
||||
nir_metadata_preserve(impl, nir_metadata_none);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
_mesa_set_add(inlined, impl);
|
||||
|
@@ -162,6 +162,8 @@ nir_lower_array_deref_of_vec_impl(nir_function_impl *impl,
|
||||
if (progress) {
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -106,6 +106,8 @@ lower_impl(nir_function_impl *impl,
|
||||
if (progress) {
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -154,6 +154,8 @@ nir_lower_bool_to_int32_impl(nir_function_impl *impl)
|
||||
if (progress) {
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -759,9 +759,7 @@ nir_lower_doubles_impl(nir_function_impl *impl,
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -108,13 +108,10 @@ nir_lower_global_vars_to_local(nir_shader *shader)
|
||||
if (progress)
|
||||
nir_fixup_deref_modes(shader);
|
||||
|
||||
#ifndef NDEBUG
|
||||
nir_foreach_function(function, shader) {
|
||||
if (function->impl) {
|
||||
function->impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
if (function->impl)
|
||||
nir_metadata_preserve(function->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return progress;
|
||||
}
|
||||
|
@@ -191,6 +191,8 @@ lower_indirects_impl(nir_function_impl *impl, nir_variable_mode modes)
|
||||
|
||||
if (progress)
|
||||
nir_metadata_preserve(impl, nir_metadata_none);
|
||||
else
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
|
||||
return progress;
|
||||
}
|
||||
|
@@ -81,9 +81,7 @@ nir_lower_load_const_to_scalar_impl(nir_function_impl *impl)
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -138,12 +138,17 @@ lower_pack_impl(nir_function_impl *impl)
|
||||
|
||||
nir_ssa_def_rewrite_uses(&alu_instr->dest.dest.ssa, nir_src_for_ssa(dest));
|
||||
nir_instr_remove(&alu_instr->instr);
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
progress = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (progress) {
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
}
|
||||
|
||||
|
@@ -275,9 +275,7 @@ nir_lower_returns_impl(nir_function_impl *impl)
|
||||
nir_metadata_preserve(impl, nir_metadata_none);
|
||||
nir_repair_ssa_impl(impl);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -175,6 +175,8 @@ nir_lower_vars_to_scratch(nir_shader *shader,
|
||||
progress = true;
|
||||
nir_metadata_preserve(function->impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(function->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -150,9 +150,7 @@ lower_var_copies_impl(nir_function_impl *impl)
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -115,9 +115,7 @@ nir_lower_variable_initializers(nir_shader *shader, nir_variable_mode modes)
|
||||
nir_metadata_dominance |
|
||||
nir_metadata_live_ssa_defs);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
function->impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(function->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -750,9 +750,7 @@ nir_lower_vars_to_ssa_impl(nir_function_impl *impl)
|
||||
}
|
||||
|
||||
if (!progress) {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@@ -295,6 +295,8 @@ nir_lower_vec_to_movs_impl(nir_function_impl *impl)
|
||||
if (progress) {
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -58,6 +58,8 @@ nir_opt_combine_memory_barriers_impl(
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance |
|
||||
nir_metadata_live_ssa_defs);
|
||||
} else {
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -400,6 +400,8 @@ combine_stores_impl(struct combine_stores_state *state, nir_function_impl *impl)
|
||||
if (state->progress) {
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return state->progress;
|
||||
|
@@ -364,9 +364,12 @@ nir_opt_comparison_pre_impl(nir_function_impl *impl)
|
||||
|
||||
block_queue_finish(&bq);
|
||||
|
||||
if (progress)
|
||||
if (progress) {
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
}
|
||||
|
@@ -221,9 +221,7 @@ nir_opt_constant_folding_impl(struct constant_fold_state *state, nir_function_im
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -1186,9 +1186,7 @@ nir_copy_prop_vars_impl(nir_function_impl *impl)
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
ralloc_free(mem_ctx);
|
||||
|
@@ -273,9 +273,7 @@ nir_copy_prop_impl(nir_function_impl *impl)
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -74,9 +74,7 @@ nir_opt_cse_impl(nir_function_impl *impl)
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
nir_instr_set_destroy(instr_set);
|
||||
|
@@ -149,9 +149,7 @@ nir_opt_dce_impl(nir_function_impl *impl)
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -374,9 +374,7 @@ opt_dead_cf_impl(nir_function_impl *impl)
|
||||
*/
|
||||
nir_repair_ssa_impl(impl);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -243,6 +243,8 @@ remove_dead_write_vars_impl(void *mem_ctx, nir_function_impl *impl)
|
||||
if (progress) {
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -589,6 +589,8 @@ opt_find_array_copies_impl(nir_function_impl *impl)
|
||||
if (progress) {
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -198,6 +198,8 @@ nir_opt_idiv_const_impl(nir_function_impl *impl, unsigned min_bit_size)
|
||||
if (progress) {
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -1451,9 +1451,7 @@ nir_opt_if(nir_shader *shader, bool aggressive_last_continue)
|
||||
if (preserve) {
|
||||
nir_metadata_preserve(function->impl, nir_metadata_none);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
function->impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(function->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -121,6 +121,8 @@ nir_opt_intrinsics(nir_shader *shader)
|
||||
progress = true;
|
||||
nir_metadata_preserve(function->impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(function->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -152,13 +152,19 @@ nir_opt_move(nir_shader *shader, nir_move_options options)
|
||||
if (!func->impl)
|
||||
continue;
|
||||
|
||||
bool impl_progress = false;
|
||||
nir_foreach_block(block, func->impl) {
|
||||
if (move(block, options)) {
|
||||
if (move(block, options))
|
||||
impl_progress = true;
|
||||
}
|
||||
|
||||
if (impl_progress) {
|
||||
nir_metadata_preserve(func->impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance |
|
||||
nir_metadata_live_ssa_defs);
|
||||
progress = true;
|
||||
}
|
||||
} else {
|
||||
nir_metadata_preserve(func->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -306,9 +306,7 @@ nir_opt_peephole_select_impl(nir_function_impl *impl, unsigned limit,
|
||||
if (progress) {
|
||||
nir_metadata_preserve(impl, nir_metadata_none);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -174,6 +174,8 @@ nir_opt_rematerialize_compares_impl(nir_shader *shader, nir_function_impl *impl)
|
||||
if (progress) {
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -161,9 +161,7 @@ nir_opt_remove_phis_impl(nir_function_impl *impl)
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -130,6 +130,8 @@ nir_opt_trivial_continues(nir_shader *shader)
|
||||
/* If that made progress, we're no longer really in SSA form. */
|
||||
nir_lower_regs_to_ssa_impl(function->impl);
|
||||
progress = true;
|
||||
} else {
|
||||
nir_metadata_preserve(function->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -155,9 +155,7 @@ nir_opt_undef(nir_shader *shader)
|
||||
nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
function->impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(function->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -961,9 +961,7 @@ nir_algebraic_impl(nir_function_impl *impl,
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -121,9 +121,7 @@ split_var_copies_impl(nir_function_impl *impl)
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -331,6 +331,8 @@ nir_split_struct_vars(nir_shader *shader, nir_variable_mode modes)
|
||||
nir_metadata_preserve(function->impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
progress = true;
|
||||
} else {
|
||||
nir_metadata_preserve(function->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -914,6 +916,8 @@ nir_split_array_vars(nir_shader *shader, nir_variable_mode modes)
|
||||
nir_metadata_preserve(function->impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
progress = true;
|
||||
} else {
|
||||
nir_metadata_preserve(function->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1654,6 +1658,8 @@ nir_shrink_vec_array_vars(nir_shader *shader, nir_variable_mode modes)
|
||||
nir_metadata_preserve(function->impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
progress = true;
|
||||
} else {
|
||||
nir_metadata_preserve(function->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -397,9 +397,7 @@ nir_convert_to_lcssa(nir_shader *shader, bool skip_invariants, bool skip_bool_in
|
||||
nir_metadata_preserve(function->impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
#ifndef NDEBUG
|
||||
function->impl->valid_metadata &= ~nir_metadata_not_properly_reset;
|
||||
#endif
|
||||
nir_metadata_preserve(function->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -64,6 +64,8 @@ lower_impl(nir_function_impl *impl)
|
||||
if (progress) {
|
||||
nir_metadata_preserve(impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(impl, nir_metadata_all);
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
Reference in New Issue
Block a user