diff options
-rw-r--r-- | src/glsl/nir/nir_control_flow.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/glsl/nir/nir_control_flow.c b/src/glsl/nir/nir_control_flow.c index 768dfd2aff3..43e4e43aede 100644 --- a/src/glsl/nir/nir_control_flow.c +++ b/src/glsl/nir/nir_control_flow.c @@ -60,6 +60,16 @@ block_add_pred(nir_block *block, nir_block *pred) _mesa_set_add(block->predecessors, pred); } +static inline void +block_remove_pred(nir_block *block, nir_block *pred) +{ + struct set_entry *entry = _mesa_set_search(block->predecessors, pred); + + assert(entry); + + _mesa_set_remove(block->predecessors, entry); +} + static void link_blocks(nir_block *pred, nir_block *succ1, nir_block *succ2) { @@ -83,11 +93,7 @@ unlink_blocks(nir_block *pred, nir_block *succ) pred->successors[1] = NULL; } - struct set_entry *entry = _mesa_set_search(succ->predecessors, pred); - - assert(entry); - - _mesa_set_remove(succ->predecessors, entry); + block_remove_pred(succ, pred); } static void |