From: Kenneth Graunke Date: Mon, 8 Apr 2019 18:22:20 +0000 (-0700) Subject: nir: Add a new nir_cf_list_is_empty_block() helper. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2b44b27dbe994a39d511211dcce1bb8367b0d066;p=mesa.git nir: Add a new nir_cf_list_is_empty_block() helper. Helper and name suggested by Eric Anholt. Reviewed-by: Jason Ekstrand Reviewed-by: Matt Turner --- diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 0ba90caad38..3fc01b798e4 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -2127,6 +2127,21 @@ nir_loop_last_block(nir_loop *loop) return nir_cf_node_as_block(exec_node_data(nir_cf_node, tail, node)); } +/** + * Return true if this list of cf_nodes contains a single empty block. + */ +static inline bool +nir_cf_list_is_empty_block(struct exec_list *cf_list) +{ + if (exec_list_is_singular(cf_list)) { + struct exec_node *head = exec_list_get_head(cf_list); + nir_block *block = + nir_cf_node_as_block(exec_node_data(nir_cf_node, head, node)); + return exec_list_is_empty(&block->instr_list); + } + return false; +} + typedef struct { uint8_t num_components; uint8_t bit_size;