- int i, n;
-
- if (initial_type) {
- free_type(initial_type);
- initial_type = NULL;
- }
- //else assert(0 && "call init_type_info before freeing");
-
- if (type_node_map) {
- pmap_destroy(type_node_map);
- type_node_map = NULL;
- }
- //else assert(0 && "call init_type_info before freeing");
-
- n = get_irp_n_irgs();
- for (i = 0; i < n; ++i)
- set_irg_typeinfo_state(get_irp_irg(i), ir_typeinfo_none);
+ int i;
+
+ if (initial_type != NULL) {
+ free_type(initial_type);
+ initial_type = NULL;
+ }
+
+ if (type_node_map != NULL) {
+ pmap_destroy(type_node_map);
+ type_node_map = NULL;
+ }
+
+ for (i = get_irp_n_irgs() - 1; i >= 0; --i)
+ set_irg_typeinfo_state(get_irp_irg(i), ir_typeinfo_none);