[PATCH] Update SSA_NAME manager to use two lists
commit16f88e4cd8745ced20a8250d470001793470301b
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 30 Sep 2015 17:43:26 +0000 (30 17:43 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 30 Sep 2015 17:43:26 +0000 (30 17:43 +0000)
tree9dece98ef18534e0b8a0d3a25a64b43857c34914
parent74d66c731d39a1464a34ec790432d068215a246b
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228302 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/gimple-ssa.h
gcc/passes.c
gcc/tree-ssanames.c
gcc/tree-ssanames.h