Mesa (master): nir: Add a new nir_cf_list_is_empty_block() helper.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Apr 29 06:50:08 UTC 2019


Module: Mesa
Branch: master
Commit: 2b44b27dbe994a39d511211dcce1bb8367b0d066
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2b44b27dbe994a39d511211dcce1bb8367b0d066

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Apr  8 11:22:20 2019 -0700

nir: Add a new nir_cf_list_is_empty_block() helper.

Helper and name suggested by Eric Anholt.

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Matt Turner <mattst88 at gmail.com>

---

 src/compiler/nir/nir.h | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

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;




More information about the mesa-commit mailing list