- /* The second iteration splits the irg->outs array into smaller arrays
- for each node and writes the back edges into this array. */
- end = set_out_edges(irg, irg->outs);
-
- /* Check how much memory we have used */
- assert (end == (irg->outs + n_out_edges));
-
- /* 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. */
- fix_start_proj(irg);
-
- current_ir_graph->outs_state = outs_consistent;
- current_ir_graph = rem;
-}
-
-void assure_irg_outs(ir_graph *irg) {
- if (get_irg_outs_state(irg) != outs_consistent)
- compute_irg_outs(irg);
-}
-
-void compute_irp_outs(void) {
- int i, n_irgs = get_irp_n_irgs();
- for (i = 0; i < n_irgs; ++i)
- compute_irg_outs(get_irp_irg(i));
-}
-void free_irp_outs(void) {
- int i, n_irgs = get_irp_n_irgs();
- for (i = 0; i < n_irgs; ++i)
- free_irg_outs(get_irp_irg(i));
-}
-
-
-/*------------------------------------------------------------*
- * This computes the outedges for in interprocedural graph. *
- * There is one quirk: *
- * The number of the outedges for each node is saved in *
- * the first member of the ir_node** array. Maybe we should *
- * change this to make it more portable... *
- *------------------------------------------------------------*/