+
+static void *sched_irn_init(ir_phase *ph, const ir_node *irn, void *old)
+{
+ sched_info_t *info = old ? old : phase_alloc(ph, sizeof(*info));
+
+ info->idx = get_irn_idx(irn);
+ INIT_LIST_HEAD(&info->list);
+ info->scheduled = 0;
+ info->time_step = 0;
+ return info;
+}
+
+void be_sched_init_phase(ir_graph *irg)
+{
+ init_irg_phase(irg, PHASE_BE_SCHED, 0, sched_irn_init);
+}
+
+void be_sched_free_phase(ir_graph *irg)
+{
+ free_irg_phase(irg, PHASE_BE_SCHED);
+}