Mesa (master): nir: Use !block_ends_in_jump() in a few places rather than open-coding.

Kenneth Graunke kwg at kemper.freedesktop.org
Mon Aug 24 22:18:42 UTC 2015


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

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Aug 24 12:18:51 2015 -0700

nir: Use !block_ends_in_jump() in a few places rather than open-coding.

Connor introduced this helper recently; we should use it here too.

I had to move the function earlier in the file for it to be available.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

---

 src/glsl/nir/nir_control_flow.c |   21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/src/glsl/nir/nir_control_flow.c b/src/glsl/nir/nir_control_flow.c
index 86c7ca2..5c03375 100644
--- a/src/glsl/nir/nir_control_flow.c
+++ b/src/glsl/nir/nir_control_flow.c
@@ -47,6 +47,13 @@
  */
 /*@{*/
 
+static bool
+block_ends_in_jump(nir_block *block)
+{
+   return !exec_list_is_empty(&block->instr_list) &&
+          nir_block_last_instr(block)->type == nir_instr_type_jump;
+}
+
 static inline void
 block_add_pred(nir_block *block, nir_block *pred)
 {
@@ -111,14 +118,12 @@ link_non_block_to_block(nir_cf_node *node, nir_block *block)
       assert(last_else->type == nir_cf_node_block);
       nir_block *last_else_block = nir_cf_node_as_block(last_else);
 
-      if (exec_list_is_empty(&last_then_block->instr_list) ||
-          nir_block_last_instr(last_then_block)->type != nir_instr_type_jump) {
+      if (!block_ends_in_jump(last_then_block)) {
          unlink_block_successors(last_then_block);
          link_blocks(last_then_block, block, NULL);
       }
 
-      if (exec_list_is_empty(&last_else_block->instr_list) ||
-          nir_block_last_instr(last_else_block)->type != nir_instr_type_jump) {
+      if (!block_ends_in_jump(last_else_block)) {
          unlink_block_successors(last_else_block);
          link_blocks(last_else_block, block, NULL);
       }
@@ -294,14 +299,6 @@ move_successors(nir_block *source, nir_block *dest)
    link_blocks(dest, succ1, succ2);
 }
 
-static bool
-block_ends_in_jump(nir_block *block)
-{
-   return !exec_list_is_empty(&block->instr_list) &&
-          nir_block_last_instr(block)->type == nir_instr_type_jump;
-}
-
-
 /* Given a basic block with no successors that has been inserted into the
  * control flow tree, gives it the successors it would normally have assuming
  * it doesn't end in a jump instruction. Also inserts phi sources with undefs




More information about the mesa-commit mailing list