memset(p, 0, node_size);
res = (ir_node *) (p + firm_add_node_size);
- res->kind = k_ir_node;
- res->op = op;
- res->mode = mode;
- res->visited = 0;
- res->link = NULL;
+ res->kind = k_ir_node;
+ res->op = op;
+ res->mode = mode;
+ res->visited = 0;
+ res->node_idx = get_irg_next_node_idx(irg);
+ res->link = NULL;
if (arity < 0) {
res->in = NEW_ARR_F (ir_node *, 1); /* 1: space for block */
} else {
return &node->attr;
}
+unsigned (get_irn_idx)(const ir_node *node) {
+ assert(is_ir_node(node));
+ return _get_irn_idx(node);
+}
+
/** manipulate fields of individual nodes **/
/* this works for all except Block */