3 * File name: ir/ir/irprog_t.h
4 * Purpose: Entry point to the representation of a whole program 0-- private header.
5 * Author: Goetz Lindenmaier
9 * Copyright: (c) 2000-2003 Universität Karlsruhe
10 * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
26 #include "firm_common_t.h"
32 ir_graph *main_irg; /**< entry point to the compiled program
33 @@@ or a list, in case we compile a library or the like? */
34 ir_graph **graphs; /**< all graphs in the ir */
35 type *glob_type; /**< global type. Must be a class as it can
36 have fields and procedures. */
37 type **types; /**< all types in the ir */
38 ir_graph *const_code_irg; /**< This ir graph gives the proper environment
39 to allocate nodes the represent values
40 of constant entities. It is not meant as
43 irg_outs_state outs_state; /**< Out edges. */
44 ir_node **ip_outedges; /**< Huge Array that contains all out edges
45 in interprocedural view. */
47 /*struct obstack *obst; * @@@ Should we place all types and
48 entities on an obstack, too? */
51 long max_node_nr; /**< to generate unique numbers for nodes. */
55 INLINE void remove_irp_type_from_list (type *typ);
58 /** Returns a new, unique number to number nodes or the like. */
59 int get_irp_new_node_nr(void);
62 #endif /* ifndef _IRPROG_T_H_ */