Mesa (master): nir: add a helper for iterating over blocks in a cf node

Kenneth Graunke kwg at kemper.freedesktop.org
Tue Sep 1 08:51:47 UTC 2015


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

Author: Connor Abbott <cwabbott0 at gmail.com>
Date:   Fri May  8 14:40:58 2015 -0400

nir: add a helper for iterating over blocks in a cf node

We were already doing this internally for iterating over a function
implementation, so just expose it directly.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/glsl/nir/nir.c |    7 +++++++
 src/glsl/nir/nir.h |    2 ++
 2 files changed, 9 insertions(+)

diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c
index acb251a..3f4bec4 100644
--- a/src/glsl/nir/nir.c
+++ b/src/glsl/nir/nir.c
@@ -1293,6 +1293,13 @@ foreach_cf_node(nir_cf_node *node, nir_foreach_block_cb cb,
 }
 
 bool
+nir_foreach_block_in_cf_node(nir_cf_node *node, nir_foreach_block_cb cb,
+                             void *state)
+{
+   return foreach_cf_node(node, cb, false, state);
+}
+
+bool
 nir_foreach_block(nir_function_impl *impl, nir_foreach_block_cb cb, void *state)
 {
    foreach_list_typed_safe(nir_cf_node, node, node, &impl->body) {
diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h
index 6853b0e..e73b7fb 100644
--- a/src/glsl/nir/nir.h
+++ b/src/glsl/nir/nir.h
@@ -1726,6 +1726,8 @@ bool nir_foreach_block(nir_function_impl *impl, nir_foreach_block_cb cb,
                        void *state);
 bool nir_foreach_block_reverse(nir_function_impl *impl, nir_foreach_block_cb cb,
                                void *state);
+bool nir_foreach_block_in_cf_node(nir_cf_node *node, nir_foreach_block_cb cb,
+                                  void *state);
 
 /* If the following CF node is an if, this function returns that if.
  * Otherwise, it returns NULL.




More information about the mesa-commit mailing list