res->op = op;
res->mode = mode;
res->visited = 0;
- res->node_idx = get_irg_next_node_idx(irg);
+ res->node_idx = irg_register_node_idx(irg, res);
res->link = NULL;
if (arity < 0) {
res->in = NEW_ARR_F (ir_node *, 1); /* 1: space for block */
return _get_irn_idx(node);
}
+int get_irn_pred_pos(ir_node *node, ir_node *arg) {
+ int i;
+ for (i = get_irn_arity(node) - 1; i >= 0; i--) {
+ if (get_irn_n(node, i) == arg)
+ return i;
+ }
+ return -1;
+}
+
/** manipulate fields of individual nodes **/
/* this works for all except Block */