- xfree(node_map);
-}
-
-/*
- ___ _____ ____ ____ ___ _____ ____ _
- |_ _| ___/ ___| | _ \ / _ \_ _| | _ \ _ _ _ __ ___ _ __ (_)_ __ __ _
- | || |_ | | _ | | | | | | || | | | | | | | | '_ ` _ \| '_ \| | '_ \ / _` |
- | || _|| |_| | | |_| | |_| || | | |_| | |_| | | | | | | |_) | | | | | (_| |
- |___|_| \____| |____/ \___/ |_| |____/ \__,_|_| |_| |_| .__/|_|_| |_|\__, |
- |_| |___/
-*/
-
-static const char *get_dot_color_name(size_t col)
-{
- static const char *names[] = {
- "blue",
- "red",
- "green",
- "yellow",
- "cyan",
- "magenta",
- "orange",
- "chocolate",
- "beige",
- "navy",
- "darkgreen",
- "darkred",
- "lightPink",
- "chartreuse",
- "lightskyblue",
- "linen",
- "pink",
- "lightslateblue",
- "mintcream",
- "red",
- "darkolivegreen",
- "mediumblue",
- "mistyrose",
- "salmon",
- "darkseagreen",
- "mediumslateblue"
- "moccasin",
- "tomato",
- "forestgreen",
- "darkturquoise",
- "palevioletred"
- };
-
- return col < sizeof(names)/sizeof(names[0]) ? names[col] : "white";
-}
-
-typedef struct co_ifg_dump_t {
- const copy_opt_t *co;
- unsigned flags;
-} co_ifg_dump_t;
-
-static void ifg_dump_graph_attr(FILE *f, void *self)
-{
- (void) self;
- fprintf(f, "overlap=scale");
-}
-
-static int ifg_is_dump_node(void *self, ir_node *irn)
-{
- (void)self;
- return !arch_irn_is_ignore(irn);
-}
-
-static void ifg_dump_node_attr(FILE *f, void *self, ir_node *irn)
-{
- co_ifg_dump_t *env = self;
- const arch_register_t *reg = arch_get_irn_register(irn);
- const arch_register_req_t *req = arch_get_register_req_out(irn);
- int limited = arch_register_req_is(req, limited);
-
- if (env->flags & CO_IFG_DUMP_LABELS) {
- ir_fprintf(f, "label=\"%+F", irn);
-
- if ((env->flags & CO_IFG_DUMP_CONSTR) && limited) {
- bitset_t *bs = bitset_alloca(env->co->cls->n_regs);
- rbitset_copy_to_bitset(req->limited, bs);
- ir_fprintf(f, "\\n%B", bs);
+ be_ifg_foreach_neighbour(ifg, &nit, irn, adj) {
+ if (!arch_irn_is_ignore(adj) &&
+ !co_dump_appel_disjoint_constraints(co, irn, adj)) {
+ int adj_idx = node_map[get_irn_idx(adj)];
+ if (idx < adj_idx)
+ fprintf(f, "%d %d -1\n", idx, adj_idx);
+ }