phase handling
[libfirm] / ir / ir / irprog_t.h
index 771986c..40a12b6 100644 (file)
@@ -22,6 +22,8 @@
 #endif
 
 #include "irprog.h"
+#include "irgraph.h"
+#include "ircgcons.h"
 #include "firm_common_t.h"
 
 
@@ -29,7 +31,7 @@
 struct ir_prog {
   firm_kind kind;
   ir_graph  *main_irg;            /**< entry point to the compiled program
-                     or a list, in case we compile a library or the like? */
+                                    @@@ or a list, in case we compile a library or the like? */
   ir_graph **graphs;              /**< all graphs in the ir */
   type      *glob_type;           /**< global type.  Must be a class as it can
                                     have fields and procedures.  */
@@ -38,6 +40,11 @@ struct ir_prog {
                                     to allocate nodes the represent values
                                     of constant entities. It is not meant as
                                     a procedure.  */
+
+  irg_outs_state outs_state;     /**< Out edges. */
+  ir_node **ip_outedges;         /**< Huge Array that contains all out edges
+                                   in interprocedural view. */
+  ip_view_state ip_view;         /**< State of interprocedural view. */
   ident     *name;
   /*struct obstack *obst;         * @@@ Should we place all types and
                                      entities on an obstack, too? */