summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2016-08-17 11:40:01 -0700
committerMatt Turner <[email protected]>2016-08-20 11:40:42 -0700
commit7e3e1bed03e15b7ee1dd0a686c66b2b4b4737b41 (patch)
tree2023b31ee02090a6b3259819bc5adaded65a4508
parenta2ae67aa47df6dd41802462105dac7ce5ab676a2 (diff)
i965/cfg: Factor common code out of switch statement.
Reviewed-by: Iago Toral Quiroga <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/brw_cfg.cpp10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_cfg.cpp b/src/mesa/drivers/dri/i965/brw_cfg.cpp
index 5d46615bc7b..53b32be510a 100644
--- a/src/mesa/drivers/dri/i965/brw_cfg.cpp
+++ b/src/mesa/drivers/dri/i965/brw_cfg.cpp
@@ -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;
}