-typedef struct _unit_t {
- struct list_head units; /**< chain for all units */
- copy_opt_t *co; /**< the copy_opt this unit belongs to */
- int node_count; /**< size of the nodes array */
- ir_node **nodes; /**< [0] is the root-node, others are non interfering args of it. */
- int *costs; /**< costs[i] are arising, if nodes[i] has a different color */
- int complete_costs; /**< sum of all costs[i] */
- int minimal_costs; /**< a lower bound for this ou, considering only ifg (not coloring conflicts) */
-
- int sort_key; /**< maximum costs. controls the order of ou's. */
-
- /* for heuristic */
- struct list_head queue; /**< list of (mis/color) sorted by size of mis */
-} unit_t;
-
-/* Helpers */
-#define set_irn_col(co, irn, col) \
- arch_set_irn_register(co->chordal_env->arch_env, irn, 0, arch_register_for_index(co->chordal_env->cls, col))
-
-#define get_irn_col(co, irn) \
- arch_register_get_index(arch_get_irn_register(co->chordal_env->arch_env, irn, 0))
-
-#define list_entry_units(lh) list_entry(lh, unit_t, units)