ir_edgeset_destroy(&info->edges);
info->allocated = 0;
}
+ clear_irg_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_OUT_EDGES);
}
int (edges_activated_kind)(const ir_graph *irg, ir_edge_kind_t kind)
}
}
+void edges_reroute_except(ir_node *from, ir_node *to, ir_node *exception)
+{
+ const ir_edge_t *edge;
+ const ir_edge_t *next;
+ foreach_out_edge_safe(from, edge, next) {
+ ir_node *src = get_edge_src_irn(edge);
+ if (src == exception)
+ continue;
+ set_irn_n(src, edge->pos, to);
+ }
+}
+
static void verify_set_presence(ir_node *irn, void *data)
{
build_walker *w = (build_walker*)data;
{
assure_edges_kind(irg, EDGE_KIND_BLOCK);
assure_edges_kind(irg, EDGE_KIND_NORMAL);
+ add_irg_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_OUT_EDGES);
}
void assure_edges_kind(ir_graph *irg, ir_edge_kind_t kind)