diff options
Diffstat (limited to 'gcc/cfg.c')
-rw-r--r-- | gcc/cfg.c | 22 |
1 files changed, 11 insertions, 11 deletions
@@ -88,35 +88,35 @@ init_flow (struct function *the_fun) without actually removing it from the pred/succ arrays. */ static void -free_edge (edge e) +free_edge (function *fn, edge e) { - n_edges_for_fn (cfun)--; + n_edges_for_fn (fn)--; ggc_free (e); } /* Free the memory associated with the edge structures. */ void -clear_edges (void) +clear_edges (struct function *fn) { basic_block bb; edge e; edge_iterator ei; - FOR_EACH_BB_FN (bb, cfun) + FOR_EACH_BB_FN (bb, fn) { FOR_EACH_EDGE (e, ei, bb->succs) - free_edge (e); + free_edge (fn, e); vec_safe_truncate (bb->succs, 0); vec_safe_truncate (bb->preds, 0); } - FOR_EACH_EDGE (e, ei, ENTRY_BLOCK_PTR_FOR_FN (cfun)->succs) - free_edge (e); - vec_safe_truncate (EXIT_BLOCK_PTR_FOR_FN (cfun)->preds, 0); - vec_safe_truncate (ENTRY_BLOCK_PTR_FOR_FN (cfun)->succs, 0); + FOR_EACH_EDGE (e, ei, ENTRY_BLOCK_PTR_FOR_FN (fn)->succs) + free_edge (fn, e); + vec_safe_truncate (EXIT_BLOCK_PTR_FOR_FN (fn)->preds, 0); + vec_safe_truncate (ENTRY_BLOCK_PTR_FOR_FN (fn)->succs, 0); - gcc_assert (!n_edges_for_fn (cfun)); + gcc_assert (!n_edges_for_fn (fn)); } /* Allocate memory for basic_block. */ @@ -350,7 +350,7 @@ remove_edge_raw (edge e) disconnect_src (e); disconnect_dest (e); - free_edge (e); + free_edge (cfun, e); } /* Redirect an edge's successor from one block to another. */ |