+
+void set_irp_ip_outs_inconsistent(void) {
+ irp->outs_state = outs_inconsistent;
+}
+
+void set_irp_ip_outedges(ir_node ** ip_outedges) {
+ irp->ip_outedges = ip_outedges;
+}
+
+ir_node** get_irp_ip_outedges(void) {
+ return irp->ip_outedges;
+}
+
+irg_callee_info_state get_irp_callee_info_state(void) {
+ return irp->callee_info_state;
+}
+
+void set_irp_callee_info_state(irg_callee_info_state s) {
+ irp->callee_info_state = s;
+}
+
+/* Returns a new, unique exception region number. */
+ir_exc_region_t (get_irp_next_region_nr)(void) {
+ return _get_irp_next_region_nr();
+}
+
+/* Returns a new, unique label number. */
+ir_label_t (get_irp_next_label_nr)(void) {
+ return _get_irp_next_label_nr();
+}
+
+/* Add a new global asm include */
+void add_irp_asm(ident *asm_string) {
+ ARR_APP1(ident *, irp->global_asms, asm_string);
+}
+
+/* Return the number of global asm includes. */
+int get_irp_n_asms(void) {
+ return ARR_LEN(irp->global_asms);
+}
+
+/* Return the global asm include at position pos. */
+ident *get_irp_asm(int pos) {
+ assert(0 <= pos && pos < get_irp_n_asms());
+ return irp->global_asms[pos];
+}
+
+#ifndef NDEBUG
+void irp_reserve_resources(ir_prog *irp, ir_resources_t resources) {
+ assert((resources & ~IR_RESOURCE_GLOBAL_MASK) == 0);
+ assert((irp->reserved_resources & resources) == 0);
+ irp->reserved_resources |= resources;
+}
+
+void irp_free_resources(ir_prog *irp, ir_resources_t resources) {
+ assert((irp->reserved_resources & resources) == resources);
+ irp->reserved_resources &= ~resources;
+}
+
+ir_resources_t irp_resources_reserved(const ir_prog *irp) {
+ return irp->reserved_resources;
+}
+#endif