besched: Change sched_foreach_from(sched_next(x), y) to sched_foreach_after(x, y).
authorChristoph Mallon <christoph.mallon@gmx.de>
Thu, 13 Dec 2012 20:06:01 +0000 (21:06 +0100)
committerChristoph Mallon <christoph.mallon@gmx.de>
Fri, 14 Dec 2012 23:05:47 +0000 (00:05 +0100)
ir/be/besched.c
ir/be/besched.h
ir/be/bespillbelady.c
ir/be/sparc/sparc_emitter.c

index 7f744ab..c156d73 100644 (file)
@@ -31,7 +31,7 @@
 
 #define SCHED_INITIAL_GRANULARITY (1 << 14)
 
-static void sched_renumber(const ir_node *block)
+static void sched_renumber(ir_node *const block)
 {
        sched_info_t *inf;
        sched_timestep_t step = SCHED_INITIAL_GRANULARITY;
index 6e97780..6451ab0 100644 (file)
@@ -156,8 +156,8 @@ static inline bool sched_comes_after(const ir_node *n1, const ir_node *n2)
        return sched_get_time_step(n1) < sched_get_time_step(n2);
 }
 
-#define sched_foreach_from(from, irn) \
-  for (ir_node *irn = from; !sched_is_end(irn); irn = sched_next(irn))
+#define sched_foreach_after(after, irn) \
+       for (ir_node *irn = (after); !sched_is_end(irn = sched_next(irn));)
 
 #define sched_foreach_reverse_from(from, irn) \
   for (ir_node *irn = from; !sched_is_begin(irn); irn = sched_prev(irn))
@@ -168,7 +168,7 @@ static inline bool sched_comes_after(const ir_node *n1, const ir_node *n2)
  * @param irn A ir node pointer used as an iterator.
  */
 #define sched_foreach(block,irn) \
-       sched_foreach_from(sched_first(block), irn)
+       sched_foreach_after((assert(is_Block(block)), block), irn)
 
 /**
  * A shorthand macro for reversely iterating over a schedule.
index 9324d6d..6dfb528 100644 (file)
@@ -516,7 +516,7 @@ static loc_t to_take_or_not_to_take(ir_node* first, ir_node *node,
  * beginning of a loop. We try to reload as much values as possible now so they
  * don't get reloaded inside the loop.
  */
-static void decide_start_workset(const ir_node *block)
+static void decide_start_workset(ir_node *const block)
 {
        ir_loop    *loop = get_irn_loop(block);
        ir_node    *first;
index ae98abd..8ac088b 100644 (file)
@@ -497,7 +497,7 @@ static ir_node *pick_delay_slot_for(ir_node *node)
 
        /* search after the current position */
        tries = 0;
-       sched_foreach_from(sched_next(node), schedpoint) {
+       sched_foreach_after(node, schedpoint) {
                if (has_delay_slot(schedpoint))
                        break;
                if (tries++ >= PICK_DELAY_SLOT_MAX_DISTANCE)
@@ -1372,8 +1372,7 @@ static void pick_delay_slots(size_t n_blocks, ir_node **blocks)
              cmp_block_execfreqs);
 
        for (size_t i = 0; i < n_blocks; ++i) {
-               const ir_node *block = sorted_blocks[i];
-               sched_foreach(block, node) {
+               sched_foreach(sorted_blocks[i], node) {
                        if (!has_delay_slot(node))
                                continue;
                        ir_node *filler = pick_delay_slot_for(node);