diff options
-rw-r--r-- | src/compiler/nir/nir_opt_copy_propagate.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/compiler/nir/nir_opt_copy_propagate.c b/src/compiler/nir/nir_opt_copy_propagate.c index acae60e233f..6847e71b35e 100644 --- a/src/compiler/nir/nir_opt_copy_propagate.c +++ b/src/compiler/nir/nir_opt_copy_propagate.c @@ -250,13 +250,9 @@ copy_prop_block(nir_block *block, void *_state) *progress = true; } - if (block->cf_node.node.next != NULL && /* check that we aren't the end node */ - !nir_cf_node_is_last(&block->cf_node) && - nir_cf_node_next(&block->cf_node)->type == nir_cf_node_if) { - nir_if *if_stmt = nir_cf_node_as_if(nir_cf_node_next(&block->cf_node)); - if (copy_prop_if(if_stmt)) - *progress = true; - } + nir_if *if_stmt = nir_block_get_following_if(block); + if (if_stmt && copy_prop_if(if_stmt)) + *progress = true; return true; } |