diff options
author | Richard Biener <rguenther@suse.de> | 2015-10-27 08:56:03 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-10-27 08:56:03 +0000 |
commit | 61183076f1dfbea5ac4fb6799aab9bc6e9aa8de5 (patch) | |
tree | bd4ad7e7b2c8112a0f115b874c66bb4632a2280b /gcc/tree-ssa.c | |
parent | 88bae6f494dc867edd8e6257658974d629bdc53b (diff) | |
download | gcc-61183076f1dfbea5ac4fb6799aab9bc6e9aa8de5.zip gcc-61183076f1dfbea5ac4fb6799aab9bc6e9aa8de5.tar.gz gcc-61183076f1dfbea5ac4fb6799aab9bc6e9aa8de5.tar.bz2 |
cfg.c (free_edge): Add function argument and use it instead of cfun.
2015-10-27 Richard Biener <rguenther@suse.de>
* cfg.c (free_edge): Add function argument and use it instead of cfun.
(clear_edges): Likewise.
* cfg.h (clear_edges): Adjust prototype.
* cfgexpand.c (pass_expand::execute): Adjust.
* cfgloop.c (release_recorded_exits): Add function argument and use
it instead of cfun.
* cfgloop.h (release_recorded_exits): Adjust prototype.
(loops_state_satisfies_p): Add overload with function argument.
(loops_state_set): Likewise.
(loops_state_clear): Likewise.
(struct loop_iterator): Add function argument to constructor
and iterator and use it instead of cfun.
(FOR_EACH_LOOP_FN): New macro.
(loop_optimizer_finalize): Add overload with function argument.
* loop-init.c (loop_optimizer_init): Adjust.
(fix_loop_structure): Likewise.
(loop_optimizer_finaliz): Add function argument and use it
instead of cfun.
* tree-cfg.c (delete_tree_cfg_annotations): Likewise.
* tree-cfg.h (delete_tree_cfg_annotations): Adjust prototype.
* cgraph.c (release_function_body): Do not push/pop cfun.
* final.c (rest_of_clean_state): Adjust.
* graphite.c (graphite_finalize): Likewise.
* tree-ssa-copy.c (fini_copy_prop): Likewise.
* tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
* tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Likewise.
(tree_unroll_loops_completely): Likewise.
(pass_complete_unrolli::execute): Likewise.
* tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates):
Add function argument and use it instead of cfun.
* tree-ssa-loop-niter.h (free_numbers_of_iterations_estimates):
Adjust prototype.
* tree-ssa-loop.c (tree_ssa_loop_done): Adjust.
* tree-ssa.c (delete_tree_ssa): Add function argument and use it
instead of cfun.
* tree-ssa.h (delete_tree_ssa): Adjust prototype.
* tree-ssanames.c (fini_ssanames): Add function argument and use it
instead of cfun.
* tree-ssanames.c (fini_ssanames): Adjust prototype.
* tree-vrp.c (execute_vrp): Adjust.
* value-prof.c (free_histograms): Add function argument and use it
instead of cfun.
* value-prof.h (free_histograms): Adjust prototype.
From-SVN: r229405
Diffstat (limited to 'gcc/tree-ssa.c')
-rw-r--r-- | gcc/tree-ssa.c | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index 4b869be..b652b4c 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -1118,25 +1118,22 @@ make_pass_init_datastructures (gcc::context *ctxt) /* Deallocate memory associated with SSA data structures for FNDECL. */ void -delete_tree_ssa (void) +delete_tree_ssa (struct function *fn) { - fini_ssanames (); + fini_ssanames (fn); /* We no longer maintain the SSA operand cache at this point. */ - if (ssa_operands_active (cfun)) - fini_ssa_operands (cfun); - - cfun->gimple_df->default_defs->empty (); - cfun->gimple_df->default_defs = NULL; - pt_solution_reset (&cfun->gimple_df->escaped); - if (cfun->gimple_df->decls_to_pointers != NULL) - delete cfun->gimple_df->decls_to_pointers; - cfun->gimple_df->decls_to_pointers = NULL; - cfun->gimple_df->modified_noreturn_calls = NULL; - cfun->gimple_df = NULL; - - /* We no longer need the edge variable maps. */ - redirect_edge_var_map_destroy (); + if (ssa_operands_active (fn)) + fini_ssa_operands (fn); + + fn->gimple_df->default_defs->empty (); + fn->gimple_df->default_defs = NULL; + pt_solution_reset (&fn->gimple_df->escaped); + if (fn->gimple_df->decls_to_pointers != NULL) + delete fn->gimple_df->decls_to_pointers; + fn->gimple_df->decls_to_pointers = NULL; + fn->gimple_df->modified_noreturn_calls = NULL; + fn->gimple_df = NULL; } /* Return true if EXPR is a useless type conversion, otherwise return |