Simplyfied firm arrays by deleting useless macro and union.
[libfirm] / ir / ir / irgwalk.c
index 8e55c01..104ca35 100644 (file)
@@ -160,11 +160,15 @@ void irg_walk_core(ir_node *node, irg_walk_func *pre, irg_walk_func *post,
 void irg_walk(ir_node *node, irg_walk_func *pre, irg_walk_func *post,
               void *env)
 {
-       ir_reserve_resources(current_ir_graph, IR_RESOURCE_IRN_VISITED);
-       inc_irg_visited(current_ir_graph);
-       assert(current_ir_graph == get_irn_irg(node));
+       ir_graph *irg = get_irn_irg(node);
+       ir_graph *rem = current_ir_graph;
+
+       current_ir_graph = irg;
+       ir_reserve_resources(irg, IR_RESOURCE_IRN_VISITED);
+       inc_irg_visited(irg);
        irg_walk_core(node, pre, post, env);
-       ir_free_resources(current_ir_graph, IR_RESOURCE_IRN_VISITED);
+       ir_free_resources(irg, IR_RESOURCE_IRN_VISITED);
+       current_ir_graph = rem;
 }
 
 /*
@@ -445,7 +449,7 @@ static void walk_initializer(ir_initializer_t *initializer, walk_env *env)
 {
        switch (initializer->kind) {
     case IR_INITIALIZER_CONST:
-       irg_walk(initializer->consti.value, env->pre, env->post, env->env);
+               irg_walk(initializer->consti.value, env->pre, env->post, env->env);
         return;
     case IR_INITIALIZER_TARVAL:
     case IR_INITIALIZER_NULL:
@@ -497,7 +501,7 @@ void walk_const_code(irg_walk_func *pre, irg_walk_func *post, void *env)
        my_env.env = env;
 
        /* Walk all types that can contain constant entities.  */
-       for (s = IR_SEGMENT_FIRST; s <= IR_SEGMENT_LAST; s++)
+       for (s = IR_SEGMENT_FIRST; s <= IR_SEGMENT_LAST; ++s)
                walk_types_entities(get_segment_type(s), &walk_entity, &my_env);
        n_types = get_irp_n_types();
        for (i = 0; i < n_types; i++)