+static inline ir_graph *get_const_code_irg_(void)
+{
+ return irp->const_code_irg;
+}
+
+/** Returns a new, unique label number. */
+static inline ir_label_t get_irp_next_label_nr_(void)
+{
+ assert(irp);
+ return ++irp->last_label_nr;
+}
+
+void set_irp_ip_outedges(ir_node ** ip_outedges);
+ir_node** get_irp_ip_outedges(void);
+
+/** initializes ir_prog. Constructs only the basic lists */
+void init_irprog_1(void);
+
+/** Completes ir_prog. */
+void init_irprog_2(void);
+
+/** Adds type to the list of types in irp. */
+void add_irp_type(ir_type *typ);
+
+/** Removes type from the list of types, deallocates it and
+ shrinks the list by one. */
+void remove_irp_type(ir_type *typ);
+
+/** Adds irg to the list of ir graphs in the current irp. */
+FIRM_API void add_irp_irg(ir_graph *irg);
+
+/** Removes irg from the list of irgs and
+ shrinks the list by one. */
+FIRM_API void remove_irp_irg(ir_graph *irg);
+
+/* Inline functions. */
+#define get_irp_n_irgs() get_irp_n_irgs_()
+#define get_irp_irg(pos) get_irp_irg_(pos)
+#define get_irp_n_types() get_irp_n_types_()
+#define get_irp_type(pos) get_irp_type_(pos)
+#define get_const_code_irg() get_const_code_irg_()
+#define get_segment_type(s) get_segment_type_(s)
+#define get_glob_type() get_glob_type_()
+#define get_tls_type() get_tls_type_()
+#define get_irp_next_label_nr() get_irp_next_label_nr_()
+
+#endif