* @brief Loop datastructure and access functions -- private stuff.
* @author Goetz Lindenmaier
* @date 7.2002
- * @version $Id$
*/
#ifndef FIRM_ANA_IRLOOP_T_H
#define FIRM_ANA_IRLOOP_T_H
struct ir_loop {
firm_kind kind; /**< A type tag, set to k_ir_loop. */
unsigned depth; /**< Nesting depth */
- size_t n_sons; /**< Number of ir_nodes in array "children" */
- size_t n_nodes; /**< Number of loop_nodes in array "children" */
unsigned flags; /**< a set of loop_flags_t */
struct ir_loop *outer_loop; /**< The outer loop */
loop_element *children; /**< Mixed flexible array: Contains sons and loop_nodes */
return loop->depth;
}
-static inline size_t _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)
{
#define get_irg_loop(irg) _get_irg_loop(irg)
#define get_loop_outer_loop(loop) _get_loop_outer_loop(loop)
#define get_loop_depth(loop) _get_loop_depth(loop)
-#define get_loop_n_sons(loop) _get_loop_n_sons(loop)
#define get_irn_loop(n) _get_irn_loop(n)
#endif