start block somtimes only reached after keep alives
- added assertion for in arrays of irnodes
[r3812]
irg_walk(get_nodes_block(oe), copy_node, copy_preds, NULL);
/* copy_preds for the end node ... */
set_nodes_block(ne, get_new_node(get_nodes_block(oe)));
irg_walk(get_nodes_block(oe), copy_node, copy_preds, NULL);
/* copy_preds for the end node ... */
set_nodes_block(ne, get_new_node(get_nodes_block(oe)));
- set_nodes_block(nb, get_new_node(get_nodes_block(ob)));
/*- ... and now the keep alives. -*/
/* First pick the not marked block nodes and walk them. We must pick these
/*- ... and now the keep alives. -*/
/* First pick the not marked block nodes and walk them. We must pick these
add_End_keepalive(ne, get_new_node(ka));
}
}
add_End_keepalive(ne, get_new_node(ka));
}
}
+
+ /* start block somtimes only reached after keep alives */
+ set_nodes_block(nb, get_new_node(get_nodes_block(ob)));
void
set_irn_n (ir_node *node, int n, ir_node *in) {
assert(node && -1 <= n && n < get_irn_arity(node));
void
set_irn_n (ir_node *node, int n, ir_node *in) {
assert(node && -1 <= n && n < get_irn_arity(node));
+ assert(in && in->kind == k_ir_node);
if ((n == -1) && (get_irn_opcode(node) == iro_Filter)) {
/* Change block pred in both views! */
node->in[n + 1] = in;
if ((n == -1) && (get_irn_opcode(node) == iro_Filter)) {
/* Change block pred in both views! */
node->in[n + 1] = in;