mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-07 17:20:21 +01:00
nir: add nir_block_get_following_loop() helper
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
f649afc9dd
commit
89dc0626bd
2 changed files with 18 additions and 0 deletions
|
|
@ -1335,6 +1335,22 @@ nir_block_get_following_if(nir_block *block)
|
|||
return nir_cf_node_as_if(next_node);
|
||||
}
|
||||
|
||||
nir_loop *
|
||||
nir_block_get_following_loop(nir_block *block)
|
||||
{
|
||||
if (exec_node_is_tail_sentinel(&block->cf_node.node))
|
||||
return NULL;
|
||||
|
||||
if (nir_cf_node_is_last(&block->cf_node))
|
||||
return NULL;
|
||||
|
||||
nir_cf_node *next_node = nir_cf_node_next(&block->cf_node);
|
||||
|
||||
if (next_node->type != nir_cf_node_loop)
|
||||
return NULL;
|
||||
|
||||
return nir_cf_node_as_loop(next_node);
|
||||
}
|
||||
static bool
|
||||
index_block(nir_block *block, void *state)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1732,6 +1732,8 @@ bool nir_foreach_block_reverse(nir_function_impl *impl, nir_foreach_block_cb cb,
|
|||
*/
|
||||
nir_if *nir_block_get_following_if(nir_block *block);
|
||||
|
||||
nir_loop *nir_block_get_following_loop(nir_block *block);
|
||||
|
||||
void nir_index_local_regs(nir_function_impl *impl);
|
||||
void nir_index_global_regs(nir_shader *shader);
|
||||
void nir_index_ssa_defs(nir_function_impl *impl);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue