int allocnew = 1;
new_node.irn = n1;
- new_node.degree = 0;
new_node.neighbours = NULL;
node = set_insert(affinity_node_t, co->nodes, &new_node, sizeof(new_node), hash_irn(new_node.irn));
nbr->next = node->neighbours;
node->neighbours = nbr;
- node->degree++;
}
/* now nbr points to n1's neighbour-entry of n2 */
new_node.irn = irn;
n = set_find(affinity_node_t, co->nodes, &new_node, sizeof(new_node), hash_irn(new_node.irn));
- if (n) {
- return (n->degree > 0);
- } else
- return 0;
+ return n && n->neighbours;
}
static int co_dump_appel_disjoint_constraints(const copy_opt_t *co, ir_node *a, ir_node *b)
struct affinity_node_t {
const ir_node *irn; /** a node with affinity edges */
- int degree; /** number of affinity edges in the linked list below */
neighb_t *neighbours; /** a linked list of all affinity neighbours */
};