aco: Fixup the NIR metadata after sanitize_cf_list.

sanitize_cf_list can in fact invalidate the dominance metadata,
which we need to use eg. nir_unsigned_upper_bound.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10740>
This commit is contained in:
Timur Kristóf 2021-04-22 14:11:39 +02:00 committed by Marge Bot
parent 00fd087f0a
commit ad8dd39bd3

View file

@ -590,10 +590,10 @@ void init_context(isel_context *ctx, nir_shader *shader)
/* sanitize control flow */
nir_metadata_require(impl, nir_metadata_dominance);
sanitize_cf_list(impl, &impl->body);
nir_metadata_preserve(impl, ~nir_metadata_block_index);
nir_metadata_preserve(impl, nir_metadata_none);
/* we'll need this for isel */
nir_metadata_require(impl, nir_metadata_block_index);
/* we'll need these for isel */
nir_metadata_require(impl, nir_metadata_block_index | nir_metadata_dominance);
if (!ctx->stage.has(SWStage::GSCopy) && ctx->options->dump_preoptir) {
fprintf(stderr, "NIR shader before instruction selection:\n");