-void be_dump(ir_graph *irg, const char *suffix, void (*dumper)(ir_graph *, const char *)) {
- static ir_graph *last_irg = NULL;
- static int nr = 0;
- char buf[128];
-
- if (irg != last_irg) {
- last_irg = irg;
- nr = strcmp(suffix, "-abi") ? 0 : 1;
- }
-
- snprintf(buf, sizeof(buf), "-%02d%s", nr++, suffix);
- buf[sizeof(buf) - 1] = '\0';
- dumper(irg, buf);
-}
-
-
-
-static void collect_phis(ir_node *irn, void *data)
-{
- (void) data;
- if(is_Phi(irn)) {
- ir_node *bl = get_nodes_block(irn);
- set_irn_link(irn, get_irn_link(bl));
- set_irn_link(bl, irn);
- }
-}
-
-void be_clear_links(ir_graph *irg)
-{
- ir_reserve_resources(irg, IR_RESOURCE_IRN_LINK);
- irg_walk_graph(irg, firm_clear_link, NULL, NULL);
- ir_free_resources(irg, IR_RESOURCE_IRN_LINK);
-}
-
-void be_collect_phis(ir_graph *irg)