set_Block_cfgpred(curcases[0].target, 0, new_Proj(cond, mode_X, pn_Cond_true));
in[0] = new_Proj(cond, mode_X, pn_Cond_false);
neblock = new_Block(1, in);
+ set_cur_block(neblock);
/* second part: "else if(sel == val[1]) goto target[1] else goto default;" */
val = new_Const_long(get_irn_mode(env->sel), curcases[1].value);
set_cur_block(curblock);
in[0] = new_Proj(cond, mode_X, pn_Cond_false);
geblock = new_Block(1, in);
+ set_cur_block(geblock);
create_if_cascade(env, ltblock, curcases, midcase);
create_if_cascade(env, geblock, curcases + midcase, numcases - midcase);
}
}
if (n_exc > 0) {
- new_Block(n_exc, cf_pred); /* watch it: current_block is changed! */
+ ir_node *block = new_Block(n_exc, cf_pred);
+ set_cur_block(block);
+
set_Tuple_pred(call, pn_Call_X_except, new_Jmp());
/* The Phi for the memories with the exception objects */
n_exc = 0;