3aac65e90350ae35d14e0f1d0ca486b5c8af847b
[libfirm] / ir / ana / irloop_t.h
1 /* Copyright (C) 2002 by Universitaet Karlsruhe
2 * All rights reserved.
3 */
4
5 /**
6 * @file irloop_t.h
7 *
8 * @author Goetz Lindenmaier
9 */
10
11 /* $Id$ */
12
13 #include "firm_common.h"
14 #include "irloop.h"
15
16 #ifndef _IRLOOP_T_H_
17 #define _IRLOOP_T_H_
18
19 /** The loops datastructure. */
20 struct ir_loop {
21   firm_kind kind;                   /**< A type tag, set to k_ir_loop. */
22
23   struct ir_loop *outer_loop;       /**< The outer loop */
24   struct ir_loop **sons;            /**< Inner loops */
25   struct ir_node **nodes;           /**< Nodes in loop. */
26   int depth;                        /**< Nesting depth */
27   /*
28   struct state_entry *mem_phis;
29   struct state_entry *states;
30
31   struct obset **oval;
32   struct loop_node *link;
33   */
34 };
35
36 static INLINE void
37 add_loop_son(ir_loop *loop, ir_loop *son);
38
39 static INLINE void
40 add_loop_node(ir_loop *loop, ir_node *n);
41
42 #endif /* _IRLOOP_T_H_ */