*/
typedef struct qnode_t {
struct list_head queue; /**< chaining of unit_t->queue */
- const unit_t *ou; /**< the opt unit this node belongs to */
int color; /**< target color */
set *conflicts; /**< contains conflict_t's. All internal conflicts */
int mis_costs; /**< costs of nodes/copies in the mis. */
} else {
if (qnode_is_pinned_local(qn, confl_node)) {
/* changing test_node would change back a node of current ou */
- if (confl_node == qn->ou->nodes[0]) {
+ if (confl_node == qn->mis[0]) {
/* Adding a conflict edge between testnode and conflnode
* would introduce a root -- arg interference.
* So remove the arg of the qn */
static inline qnode_t *new_qnode(const unit_t *ou, int color)
{
qnode_t *qn = XMALLOC(qnode_t);
- qn->ou = ou;
qn->color = color;
qn->mis = XMALLOCN(ir_node*, ou->node_count);
qn->conflicts = new_set(set_cmp_conflict_t, SLOTS_CONFLICTS);