/**
* @file
* @brief data structures for scheduling nodes in basic blocks.
- * (This file does not contain the scheduling algorithms)
* @author Sebastian Hack, Matthias Braun
*/
#ifndef FIRM_BE_BESCHED_H
/**
* Check, if the node is scheduled.
+ * Block nodes are reported as scheduled as they mark the begin and end
+ * of the scheduling list.
* @param irn The node.
* @return 1, if the node is scheduled, 0 if not.
*/
}
#define sched_foreach_from(from, irn) \
- for(irn = from; !sched_is_end(irn); irn = sched_next(irn))
+ for (ir_node *irn = from; !sched_is_end(irn); irn = sched_next(irn))
#define sched_foreach_reverse_from(from, irn) \
- for(irn = from; !sched_is_begin(irn); irn = sched_prev(irn))
+ for (ir_node *irn = from; !sched_is_begin(irn); irn = sched_prev(irn))
/**
* A shorthand macro for iterating over a schedule.
#define sched_foreach_reverse(block,irn) \
sched_foreach_reverse_from(sched_last(block), irn)
-/**
- * A shorthand macro for iterating over all Phi nodes of a schedule.
- * @param block The block.
- * @param phi A ir node pointer used as an iterator.
- */
-#define sched_foreach_Phi(block,phi) \
- for (phi = sched_first(block); is_Phi(phi); phi = sched_next(phi))
-
/**
* Type for a function scheduling a graph
*/