[PATCH] Update SSA_NAME manager to use two lists
authorBernd Schmidt <bernds@redhat.com>
Wed, 30 Sep 2015 17:43:26 +0000 (17:43 +0000)
committerJeff Law <law@gcc.gnu.org>
Wed, 30 Sep 2015 17:43:26 +0000 (11:43 -0600)
commitdc0ccbb3a3e60f0423ac69d82f6cb78ff9b10800
tree9dece98ef18534e0b8a0d3a25a64b43857c34914
parent0fe78d19df60f6131586feb556c1e92bb3c03961
[PATCH] Update SSA_NAME manager to use two lists

* gimple-ssa.h (gimple_df): Add free_ssanames_queue field.
* passes.c: Include tree-ssanames.h.
(execute_function_todo): Flush the pending free SSA_NAMEs after
eliminating unreachable basic blocks.
* tree-ssanames.c (FREE_SSANAMES_QUEUE): new.
(init_ssanames): Initialize FREE_SSANAMES_QUEUE.
(fini_ssanames): Finalize FREE_SSANAMES_QUEUE.
(flush_ssanames_freelist): New function.
(release_ssaname_fn): Put released names on the queue.
(pass_release_ssa_names::execute): Call flush_ssanames_freelist.
* tree-ssanames.h (flush_ssanames_freelist): Declare.

From-SVN: r228302
gcc/ChangeLog
gcc/gimple-ssa.h
gcc/passes.c
gcc/tree-ssanames.c
gcc/tree-ssanames.h