nir: Remove single-source phis before opt_if_loop_last_continue
We might have some single-source phis leftover after prior optimizations. We
want to get rid of them before merging the blocks.
Fixes: 5921a19d4b
("nir: add if opt opt_if_loop_last_continue()")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6312
Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16095>
This commit is contained in:

committed by
Marge Bot

parent
90ea4283b4
commit
65caf46b3b
@@ -818,6 +818,11 @@ opt_if_loop_last_continue(nir_loop *loop, bool aggressive_last_continue)
|
||||
exec_list_is_empty(&last_block->instr_list))
|
||||
return false;
|
||||
|
||||
/* If there are single-source phis in the last block,
|
||||
* get rid of them first
|
||||
*/
|
||||
nir_opt_remove_phis_block(last_block);
|
||||
|
||||
/* Move the last block of the loop inside the last if-statement */
|
||||
nir_cf_list tmp;
|
||||
nir_cf_extract(&tmp, nir_after_cf_node(if_node),
|
||||
|
Reference in New Issue
Block a user