nir/opt_undef: fixup for new foreach_block()
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:

committed by
Jason Ekstrand

parent
52affdd2e6
commit
1a8c17a59e
@@ -71,20 +71,6 @@ opt_undef_alu(nir_alu_instr *instr)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
|
||||||
opt_undef_block(nir_block *block, void *data)
|
|
||||||
{
|
|
||||||
bool *progress = data;
|
|
||||||
|
|
||||||
nir_foreach_instr_safe(block, instr) {
|
|
||||||
if (instr->type == nir_instr_type_alu)
|
|
||||||
if (opt_undef_alu(nir_instr_as_alu(instr)))
|
|
||||||
(*progress) = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
nir_opt_undef(nir_shader *shader)
|
nir_opt_undef(nir_shader *shader)
|
||||||
{
|
{
|
||||||
@@ -92,7 +78,14 @@ nir_opt_undef(nir_shader *shader)
|
|||||||
|
|
||||||
nir_foreach_function(shader, function) {
|
nir_foreach_function(shader, function) {
|
||||||
if (function->impl) {
|
if (function->impl) {
|
||||||
nir_foreach_block_call(function->impl, opt_undef_block, &progress);
|
nir_foreach_block(block, function->impl) {
|
||||||
|
nir_foreach_instr_safe(block, instr) {
|
||||||
|
if (instr->type == nir_instr_type_alu)
|
||||||
|
if (opt_undef_alu(nir_instr_as_alu(instr)))
|
||||||
|
progress = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (progress)
|
if (progress)
|
||||||
nir_metadata_preserve(function->impl,
|
nir_metadata_preserve(function->impl,
|
||||||
nir_metadata_block_index |
|
nir_metadata_block_index |
|
||||||
|
Reference in New Issue
Block a user