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.
25 #include "firm_common_t.h"
31 ir_graph *main_irg; /**< entry point to the compiled program
32 or a list, in case we compile a library or the like? */
33 ir_graph **graphs; /**< all graphs in the ir */
34 type *glob_type; /**< global type. Must be a class as it can
35 have fields and procedures. */
36 type **types; /**< all types in the ir */
37 ir_graph *const_code_irg; /**< This ir graph gives the proper environment
38 to allocate nodes the represent values
39 of constant entities. It is not meant as
42 ir_node **ip_outedges; /**< Huge Array that contains all out edges
43 in interprocedural view. */
45 /*struct obstack *obst; * @@@ Should we place all types and
46 entities on an obstack, too? */
49 long max_node_nr; /**< to generate unique numbers for nodes. */
53 INLINE void remove_irp_type_from_list (type *typ);
56 /** Returns a new, unique number to number nodes or the like. */
57 int get_irp_new_node_nr(void);
60 #endif /* ifndef _IRPROG_T_H_ */