#include "debug.h"
#include "besched_t.h"
-#include "besched.h"
+#include "beutil.h"
#include "belistsched.h"
FIRM_IMPL1(sched_get_time_step, int, const ir_node *)
FIRM_IMPL1(sched_last, ir_node *, const ir_node *)
FIRM_IMPL2(sched_add_after, ir_node *, ir_node *, ir_node *)
FIRM_IMPL2(sched_add_before, ir_node *, ir_node *, ir_node *)
+FIRM_IMPL1_VOID(sched_remove, ir_node *)
size_t sched_irn_data_offset = 0;
sched_foreach(block, irn)
n++;
+ if(n <= 0)
+ return 1;
+
save_time_step = malloc(n * sizeof(save_time_step[0]));
save_nodes = malloc(n * sizeof(save_nodes[0]));
return res;
}
+
+extern ir_node *sched_skip(ir_node *from, int forward,
+ sched_predicator_t *predicator, void *data)
+{
+ const ir_node *bl = get_block(from);
+ ir_node *curr;
+
+ for(curr = from; curr != bl && predicator(curr, data);
+ curr = forward ? sched_next(curr) : sched_prev(curr));
+ return curr;
+}