res->attr.phi_backedge = new_backedge_arr(irg->obst, arity);
- for (i = arity-1; i >= 0; i--) if (intern_get_irn_op(in[i]) == op_Unknown) has_unknown = true;
+ for (i = arity-1; i >= 0; i--)
+ if (intern_get_irn_op(in[i]) == op_Unknown) {
+ has_unknown = true;
+ break;
+ }
+
if (!has_unknown) res = optimize_node (res);
irn_vrfy_irg (res, irg);
long max_proj)
{
ir_node *res;
- assert((arg->op==op_Cond) && (get_irn_mode(arg->in[1]) == mode_Iu));
+ assert(arg->op == op_Cond);
arg->attr.c.kind = fragmentary;
arg->attr.c.default_proj = max_proj;
res = new_rd_Proj (db, irg, block, arg, mode_X, max_proj);
static void
set_frag_value(ir_node **frag_arr, int pos, ir_node *val) {
if (!frag_arr[pos]) frag_arr[pos] = val;
- if (frag_arr[current_ir_graph->n_loc - 1])
- set_frag_value (get_frag_arr(frag_arr[current_ir_graph->n_loc - 1]), pos, val);
+ if (frag_arr[current_ir_graph->n_loc - 1]) {
+ ir_node **arr = get_frag_arr(frag_arr[current_ir_graph->n_loc - 1]);
+ set_frag_value(arr, pos, val);
+ }
}
static ir_node *
new_d_defaultProj (dbg_info* db, ir_node *arg, long max_proj)
{
ir_node *res;
- assert((arg->op==op_Cond) && (get_irn_mode(arg->in[1]) == mode_Iu));
+ assert(arg->op == op_Cond);
arg->attr.c.kind = fragmentary;
arg->attr.c.default_proj = max_proj;
res = new_Proj (arg, mode_X, max_proj);