+}
+
+void be_remove_dead_nodes_from_schedule(ir_graph *irg)
+{
+ remove_dead_nodes_env_t env;
+ env.irg = irg;
+ env.reachable = bitset_alloca(get_irg_last_idx(irg));
+
+ // mark all reachable nodes
+ irg_walk_graph(irg, mark_dead_nodes_walker, NULL, &env);
+
+ // walk schedule and remove non-marked nodes
+ irg_block_walk_graph(irg, remove_dead_nodes_walker, NULL, &env);