i965/cfg: Factor common code out of switch statement.
authorMatt Turner <mattst88@gmail.com>
Wed, 17 Aug 2016 18:40:01 +0000 (11:40 -0700)
committerMatt Turner <mattst88@gmail.com>
Sat, 20 Aug 2016 18:40:42 +0000 (11:40 -0700)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
src/mesa/drivers/dri/i965/brw_cfg.cpp

index 5d46615bc7b98b28229aebcb02c87d028e51e7fc..53b32be510a0b6f1414e23690767090976d210e6 100644 (file)
@@ -177,9 +177,10 @@ cfg_t::cfg_t(exec_list *instructions)
       /* set_next_block wants the post-incremented ip */
       ip++;
 
+      inst->exec_node::remove();
+
       switch (inst->opcode) {
       case BRW_OPCODE_IF:
-         inst->exec_node::remove();
          cur->instructions.push_tail(inst);
 
         /* Push our information onto a stack so we can recover from
@@ -202,7 +203,6 @@ cfg_t::cfg_t(exec_list *instructions)
         break;
 
       case BRW_OPCODE_ELSE:
-         inst->exec_node::remove();
          cur->instructions.push_tail(inst);
 
          cur_else = cur;
@@ -226,7 +226,6 @@ cfg_t::cfg_t(exec_list *instructions)
             set_next_block(&cur, cur_endif, ip - 1);
          }
 
-         inst->exec_node::remove();
          cur->instructions.push_tail(inst);
 
          if (cur_else) {
@@ -267,12 +266,10 @@ cfg_t::cfg_t(exec_list *instructions)
             set_next_block(&cur, cur_do, ip - 1);
          }
 
-         inst->exec_node::remove();
          cur->instructions.push_tail(inst);
         break;
 
       case BRW_OPCODE_CONTINUE:
-         inst->exec_node::remove();
          cur->instructions.push_tail(inst);
 
          assert(cur_do != NULL);
@@ -286,7 +283,6 @@ cfg_t::cfg_t(exec_list *instructions)
         break;
 
       case BRW_OPCODE_BREAK:
-         inst->exec_node::remove();
          cur->instructions.push_tail(inst);
 
          assert(cur_while != NULL);
@@ -300,7 +296,6 @@ cfg_t::cfg_t(exec_list *instructions)
         break;
 
       case BRW_OPCODE_WHILE:
-         inst->exec_node::remove();
          cur->instructions.push_tail(inst);
 
          assert(cur_do != NULL && cur_while != NULL);
@@ -317,7 +312,6 @@ cfg_t::cfg_t(exec_list *instructions)
         break;
 
       default:
-         inst->exec_node::remove();
          cur->instructions.push_tail(inst);
         break;
       }