intel/nir: Call nir_metadata_preserve on !progress
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
2b676b2ce8
commit
92cfbb7d0c
@@ -132,6 +132,8 @@ brw_nir_clamp_image_1d_2d_array_sizes(nir_shader *shader)
|
||||
nir_metadata_preserve(func->impl, nir_metadata_block_index |
|
||||
nir_metadata_dominance);
|
||||
progress = function_progress;
|
||||
} else {
|
||||
nir_metadata_preserve(func->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -150,6 +150,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;
|
||||
|
@@ -689,6 +689,7 @@ brw_nir_lower_image_load_store(nir_shader *shader,
|
||||
if (function->impl == NULL)
|
||||
continue;
|
||||
|
||||
bool impl_progress = false;
|
||||
nir_foreach_block_safe(block, function->impl) {
|
||||
nir_builder b;
|
||||
nir_builder_init(&b, function->impl);
|
||||
@@ -701,12 +702,12 @@ brw_nir_lower_image_load_store(nir_shader *shader,
|
||||
switch (intrin->intrinsic) {
|
||||
case nir_intrinsic_image_deref_load:
|
||||
if (lower_image_load_instr(&b, devinfo, intrin))
|
||||
progress = true;
|
||||
impl_progress = true;
|
||||
break;
|
||||
|
||||
case nir_intrinsic_image_deref_store:
|
||||
if (lower_image_store_instr(&b, devinfo, intrin))
|
||||
progress = true;
|
||||
impl_progress = true;
|
||||
break;
|
||||
|
||||
case nir_intrinsic_image_deref_atomic_add:
|
||||
@@ -722,12 +723,12 @@ brw_nir_lower_image_load_store(nir_shader *shader,
|
||||
if (uses_atomic_load_store)
|
||||
*uses_atomic_load_store = true;
|
||||
if (lower_image_atomic_instr(&b, devinfo, intrin))
|
||||
progress = true;
|
||||
impl_progress = true;
|
||||
break;
|
||||
|
||||
case nir_intrinsic_image_deref_size:
|
||||
if (lower_image_size_instr(&b, devinfo, intrin))
|
||||
progress = true;
|
||||
impl_progress = true;
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -737,8 +738,12 @@ brw_nir_lower_image_load_store(nir_shader *shader,
|
||||
}
|
||||
}
|
||||
|
||||
if (progress)
|
||||
if (impl_progress) {
|
||||
progress = true;
|
||||
nir_metadata_preserve(function->impl, nir_metadata_none);
|
||||
} else {
|
||||
nir_metadata_preserve(function->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
|
||||
return progress;
|
||||
|
@@ -275,6 +275,8 @@ lower_mem_access_bit_sizes_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;
|
||||
|
@@ -277,9 +277,12 @@ brw_nir_opt_peephole_ffma_impl(nir_function_impl *impl)
|
||||
progress |= brw_nir_opt_peephole_ffma_block(&builder, block);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user