mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 10:50:10 +01:00
nir: Add nir_foreach_block_in_cf_node_safe() iterators
Reviewed-by: Karol Herbst <kherbst@redhat.com> Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591>
This commit is contained in:
parent
7b5856ebe9
commit
e05cb967e7
1 changed files with 12 additions and 0 deletions
|
|
@ -4939,11 +4939,23 @@ nir_block *nir_cf_node_cf_tree_prev(nir_cf_node *node);
|
|||
block != nir_cf_node_cf_tree_next(node); \
|
||||
block = nir_block_cf_tree_next(block))
|
||||
|
||||
#define nir_foreach_block_in_cf_node_safe(block, node) \
|
||||
for (nir_block *block = nir_cf_node_cf_tree_first(node), \
|
||||
*next = nir_block_cf_tree_next(block); \
|
||||
block != nir_cf_node_cf_tree_next(node); \
|
||||
block = next, next = nir_block_cf_tree_next(block))
|
||||
|
||||
#define nir_foreach_block_in_cf_node_reverse(block, node) \
|
||||
for (nir_block *block = nir_cf_node_cf_tree_last(node); \
|
||||
block != nir_cf_node_cf_tree_prev(node); \
|
||||
block = nir_block_cf_tree_prev(block))
|
||||
|
||||
#define nir_foreach_block_in_cf_node_reverse_safe(block, node) \
|
||||
for (nir_block *block = nir_cf_node_cf_tree_last(node), \
|
||||
*prev = nir_block_cf_tree_prev(block); \
|
||||
block != nir_cf_node_cf_tree_prev(node); \
|
||||
block = prev, prev = nir_block_cf_tree_prev(block))
|
||||
|
||||
/* If the following CF node is an if, this function returns that if.
|
||||
* Otherwise, it returns NULL.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue