X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Firloop_t.h;h=a099cd74cee40d7e66397e4732a79774b27e5d1f;hb=3da5ed2598245b896255bc444aaa1768f6098cfe;hp=e075c9c0c6fdc2ec478ced7b513a32c9f7e0bcc3;hpb=5da05531f4190e4bf3dccb416aaf1b3f5417073f;p=libfirm diff --git a/ir/ana/irloop_t.h b/ir/ana/irloop_t.h index e075c9c0c..a099cd74c 100644 --- a/ir/ana/irloop_t.h +++ b/ir/ana/irloop_t.h @@ -44,7 +44,7 @@ typedef enum loop_flags { loop_end_false = 0x00000020, /**< this loop end can't be computed "from compute_loop_info.c" */ do_loop = 0x00000040, /**< this is a do loop */ once = 0x00000080, /**< this is a do loop, with a false condition. It iterate exactly once. */ - loop_outer_loop = 0x00000100 /**< id set, this loop has child loops (is a no leaf). */ + loop_outer_loop = 0x00000100 /**< if set, this loop has child loops (is a no leaf). */ } loop_flags_t; /** @@ -59,9 +59,6 @@ typedef enum loop_flags { * the loop within the nesting. Further it contains a list of the * loops with nesting depth -1. Finally it contains a list of all * nodes in the loop. - * - * @todo We could add a field pointing from a node to the containing loop, - * this would cost a lot of memory, though. */ struct ir_loop { firm_kind kind; /**< A type tag, set to k_ir_loop. */ @@ -109,44 +106,44 @@ void mature_loops(ir_loop *loop, struct obstack *obst); /* -------- inline functions -------- */ -static inline int -_is_ir_loop(const void *thing) { +static inline int _is_ir_loop(const void *thing) +{ return get_kind(thing) == k_ir_loop; } -static inline void -_set_irg_loop(ir_graph *irg, ir_loop *loop) { +static inline void _set_irg_loop(ir_graph *irg, ir_loop *loop) +{ assert(irg); irg->loop = loop; } -static inline ir_loop * -_get_irg_loop(const ir_graph *irg) { +static inline ir_loop *_get_irg_loop(const ir_graph *irg) +{ assert(irg); return irg->loop; } -static inline ir_loop * -_get_loop_outer_loop(const ir_loop *loop) { +static inline ir_loop *_get_loop_outer_loop(const ir_loop *loop) +{ assert(_is_ir_loop(loop)); return loop->outer_loop; } -static inline int -_get_loop_depth(const ir_loop *loop) { +static inline int _get_loop_depth(const ir_loop *loop) +{ assert(_is_ir_loop(loop)); return loop->depth; } -static inline int -_get_loop_n_sons(const ir_loop *loop) { +static inline int _get_loop_n_sons(const ir_loop *loop) +{ assert(_is_ir_loop(loop)); return loop->n_sons; } /* Uses temporary information to get the loop */ -static inline ir_loop * -_get_irn_loop(const ir_node *n) { +static inline ir_loop *_get_irn_loop(const ir_node *n) +{ return n->loop; }