phase handling
[libfirm] / ir / ir / irprog_t.h
index 46ceba5..40a12b6 100644 (file)
@@ -1,5 +1,14 @@
-
-/* $Id$ */
+/*
+ * Project:     libFIRM
+ * File name:   ir/ir/irprog_t.h
+ * Purpose:     Entry point to the representation of a whole program 0-- private header.
+ * Author:      Goetz Lindenmaier
+ * Modified by:
+ * Created:     2000
+ * CVS-ID:      $Id$
+ * Copyright:   (c) 2000-2003 Universität Karlsruhe
+ * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
+ */
 
 /**
  * @file irprog_t.h
@@ -13,6 +22,8 @@
 #endif
 
 #include "irprog.h"
+#include "irgraph.h"
+#include "ircgcons.h"
 #include "firm_common_t.h"
 
 
@@ -20,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.  */
@@ -29,6 +40,12 @@ 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? */