/* Don't assert that block matured: the use of this constructor is strongly
restricted ... */
- if ( get_Block_matured(block) )
- assert( get_irn_arity(block) == arity );
+ if (get_Block_matured(block))
+ assert(get_irn_arity(block) == arity);
res = new_ir_node(db, irg, block, op_Phi, mode, arity, in);
res->attr.phi_backedge = new_backedge_arr(irg->obst, arity);
- for (i = arity-1; i >= 0; i--)
+ for (i = arity - 1; i >= 0; --i)
if (get_irn_op(in[i]) == op_Unknown) {
has_unknown = 1;
break;
if (is_Raise(prev_cf_op))
return 1;
if (is_fragile_op(prev_cf_op)) {
- if (is_Proj(cf_pred) && get_Proj_proj(cf_pred) == pn_Generic_X_regular) {
- /* the regular control flow, NO exception */
- return 0;
+ if (is_Proj(cf_pred)) {
+ if (get_Proj_proj(cf_pred) == pn_Generic_X_regular) {
+ /* the regular control flow, NO exception */
+ return 0;
+ }
+ assert(get_Proj_proj(cf_pred) == pn_Generic_X_except);
+ return 1;
}
/* Hmm, exception but not a Proj? */
assert(!"unexpected condition: fragile op without a proj");
ir_node *blk = get_nodes_block(pred_jmp);
res->in[0] = blk->in[0];
+ assert(res->in[0] != NULL);
add_immBlock_pred(res, pred_jmp);
res->attr.block.is_mb_head = 0;