From 3489f66056c3bacfb3ade806c0eea8f85951eb41 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Sun, 27 Dec 2015 22:50:14 -0800 Subject: [PATCH] nir: Add a cursor helper for getting a cursor after any phi nodes --- src/glsl/nir/nir.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h index 815c22c5e8b..904e444487a 100644 --- a/src/glsl/nir/nir.h +++ b/src/glsl/nir/nir.h @@ -1871,6 +1871,22 @@ nir_after_cf_node(nir_cf_node *node) return nir_before_block(nir_cf_node_as_block(nir_cf_node_next(node))); } +static inline nir_cursor +nir_after_cf_node_and_phis(nir_cf_node *node) +{ + if (node->type == nir_cf_node_block) + return nir_after_block(nir_cf_node_as_block(node)); + + nir_block *block = nir_cf_node_as_block(nir_cf_node_next(node)); + assert(block->cf_node.type == nir_cf_node_block); + + nir_foreach_instr(block, instr) { + if (instr->type != nir_instr_type_phi) + return nir_before_instr(instr); + } + return nir_after_block(block); +} + static inline nir_cursor nir_before_cf_list(struct exec_list *cf_list) { -- 2.30.2