/* 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
break;
case BRW_OPCODE_ELSE:
- inst->exec_node::remove();
cur->instructions.push_tail(inst);
cur_else = cur;
set_next_block(&cur, cur_endif, ip - 1);
}
- inst->exec_node::remove();
cur->instructions.push_tail(inst);
if (cur_else) {
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);
break;
case BRW_OPCODE_BREAK:
- inst->exec_node::remove();
cur->instructions.push_tail(inst);
assert(cur_while != NULL);
break;
case BRW_OPCODE_WHILE:
- inst->exec_node::remove();
cur->instructions.push_tail(inst);
assert(cur_do != NULL && cur_while != NULL);
break;
default:
- inst->exec_node::remove();
cur->instructions.push_tail(inst);
break;
}