nir: Add a cursor helper for getting a cursor after any phi nodes

This commit is contained in:
Jason Ekstrand
2015-12-27 22:50:14 -08:00
parent c60456dfaa
commit 3489f66056
+16
View File
@@ -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)
{