if (get_irn_n_outs(cond) <= 4)
return 0;
- default_pn = get_Cond_defaultProj(cond);
+ default_pn = get_Cond_default_proj(cond);
foreach_out_irn(cond, i, proj) {
long pn = get_Proj_proj(proj);
{
const case_data_t *cda = a;
const case_data_t *cdb = b;
- return cda->value - cdb->value;
+ return (cda->value > cdb->value) - (cda->value < cdb->value);
}
/**
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);
numcases = get_irn_n_outs(cond) - 1; // does not contain default case
NEW_ARR_A(case_data_t, cases, numcases);
- default_pn = get_Cond_defaultProj(cond);
+ default_pn = get_Cond_default_proj(cond);
ifcas_env.sel = sel;
ifcas_env.defindex = 0;
NEW_ARR_A(ir_node*, ifcas_env.defusers, numcases);