X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbesched.h;h=398232f8f68e49361219ab4bb5f25cc2086e75df;hb=288b414e4d82e0aa0d4b4348d8c387db02142cdb;hp=e02d940239a21eb037b4cf268ecd8ae620d3fd32;hpb=1ce363f80e6a204d4011f85813362d9bd1d0e7e4;p=libfirm diff --git a/ir/be/besched.h b/ir/be/besched.h index e02d94023..398232f8f 100644 --- a/ir/be/besched.h +++ b/ir/be/besched.h @@ -48,13 +48,13 @@ ir_node *sched_next(const ir_node *irn); ir_node *sched_prev(const ir_node *irn); ir_node *sched_first(const ir_node *block); ir_node *sched_last(const ir_node *block); -void sched_add_before(const ir_node *before, const ir_node *irn); -void sched_add_after(const ir_node *after, const ir_node *irn); -void sched_init_block(const ir_node *block); -void sched_reset(const ir_node *node); -void sched_remove(const ir_node *irn); +void sched_add_before(ir_node *before, ir_node *irn); +void sched_add_after(ir_node *after, ir_node *irn); +void sched_init_block(ir_node *block); +void sched_reset(ir_node *node); +void sched_remove(ir_node *irn); -#define sched_is_end(irn) is_Block(irn) +#define sched_is_end(irn) is_Block(irn) #define sched_is_begin(irn) is_Block(irn) #define sched_foreach_from(from, irn) \ @@ -79,13 +79,18 @@ void sched_remove(const ir_node *irn); #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)) + /** * Removes dead nodes from schedule * @param irg the graph */ void be_remove_dead_nodes_from_schedule(be_irg_t *birg); -void be_sched_init_phase(ir_graph *irg); -void be_sched_free_phase(ir_graph *irg); - -#endif /* FIRM_BE_BESCHED_H */ +#endif