X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbesched.h;h=dd6699146d60de3240214b93798ef8c13977a06e;hb=b6a9555d988bd3c5181e470c950a346d0125945f;hp=9ef2f53d254a8c9f6ba22f2b5de528d7bef17573;hpb=7a2c7fed8fdbe29fa0b6e1901865a901f71a6c5f;p=libfirm diff --git a/ir/be/besched.h b/ir/be/besched.h index 9ef2f53d2..dd6699146 100644 --- a/ir/be/besched.h +++ b/ir/be/besched.h @@ -52,8 +52,8 @@ static inline bool sched_is_scheduled(const ir_node *irn) } /** - * returns the time step of a node. Each node in a block has a timestep - * unique to that block. a node schedule before another node has a lower + * Returns the time step of a node. Each node in a block has a timestep + * unique to that block. A node schedule before another node has a lower * timestep than this node. * @param irn The node. * @return The time step in the schedule. @@ -228,4 +228,19 @@ static inline bool sched_comes_after(const ir_node *n1, const ir_node *n2) #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 + */ +typedef void (*schedule_func) (ir_graph *irg); + +/** + * Register new scheduling algorithm + */ +void be_register_scheduler(const char *name, schedule_func func); + +/** + * schedule a graph with the currenty selected scheduler. + */ +void be_schedule_graph(ir_graph *irg); + #endif