+/**
+ * Enter memory for the outs to a node. Handles special nodes
+ *
+ * @param irg the graph
+ * @param free current free address in the chunk allocated for the outs
+ *
+ * @return The next free address
+ */
+static ir_node **set_out_edges(ir_graph *irg, ir_node **free) {
+ ir_node *n;
+ int n_outs;
+
+ inc_irg_visited(irg);
+ free = _set_out_edges(get_irg_end(irg), free);
+
+ n = get_irg_frame(irg);
+ if (get_irn_visited(n) < get_irg_visited(current_ir_graph)) {
+ n_outs = (int)n->out;
+ n->out = free;
+#ifdef DEBUG_libfirm
+ n->out_valid = 1;
+#endif /* defined DEBUG_libfirm */
+ free += n_outs;
+ }
+
+ return free;
+}
+
+
+/* We want that the out of ProjX from Start contains the next block at
+ position 1, the Start block at position 2. This is necessary for
+ the out block walker. */