+#else /* faster */
+ if (node->visited < current_ir_graph->visited) {
+ set_irn_visited(node, current_ir_graph->visited);
+
+ if (pre) pre(node, env);
+
+ if (node->op != op_Block)
+ irg_walk_2(get_irn_n(node, -1), pre, post, env);
+ for (i = get_irn_arity(node) - 1; i >= 0; --i)
+ irg_walk_2(get_irn_n(node, i), pre, post, env);
+
+ if (post) post(node, env);
+ }
+#endif