visit.data = &w;
+ assert(!info->activated);
+
info->activated = 1;
edges_init_graph_kind(irg, kind);
if (kind == EDGE_KIND_DEP) {
edges_deactivate_kind(irg, EDGE_KIND_NORMAL);
}
-int edges_assure(ir_graph *irg) {
- int activated = edges_activated(irg);
+int edges_assure(ir_graph *irg)
+{
+ int activated = 0;
- if (!activated)
- edges_activate(irg);
+ if (edges_activated_kind(irg, EDGE_KIND_BLOCK)) {
+ activated = 1;
+ } else {
+ edges_activate_kind(irg, EDGE_KIND_BLOCK);
+ }
+ if (edges_activated_kind(irg, EDGE_KIND_NORMAL)) {
+ activated = 1;
+ } else {
+ edges_activate_kind(irg, EDGE_KIND_NORMAL);
+ }
return activated;
}