* @param prev_cf_op if cf_pred is a Proj, the predecessor node, else equal to cf_pred
*/
static int is_exception_flow(ir_node *cf_pred, ir_node *prev_cf_op) {
- /* all projections from a raise are exceptional control flow */
- if (is_Raise(prev_cf_op))
- return 1;
+ /*
+ * Note: all projections from a raise are "exceptional control flow" we we handle it
+ * like a normal Jmp, because there is no "regular" one.
+ * That's why Raise is no "fragile_op"!
+ */
if (is_fragile_op(prev_cf_op)) {
if (is_Proj(cf_pred)) {
if (get_Proj_proj(cf_pred) == pn_Generic_X_regular) {
assert(!block->attr.block.is_matured && "Error: Block already matured!\n");
assert(block->attr.block.is_mb_head && "Error: Cannot add a predecessor to a PartBlock");
- assert(jmp != NULL);
+ assert(is_ir_node(jmp));
ARR_APP1(ir_node *, block->in, jmp);
/* Call the hook */
ir_graph *irg = current_ir_graph;
assert(get_irg_phase_state(irg) == phase_building);
assert(pos+1 < irg->n_loc);
+ assert(is_ir_node(value));
irg->current_block->attr.block.graph_arr[pos + 1] = value;
} /* set_value */