[PATCH] Pass in avail_expr_stack and setup edge_infos earlier
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 17 Sep 2015 03:01:03 +0000 (03:01 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 17 Sep 2015 03:01:03 +0000 (03:01 +0000)
commit1f557f49fd89f05697a0af0841f68cf8f6ba9445
treebeeb6ae89f5ced6e7def72c713e3e747502a1c12
parentc9d11eee0e24a5e63d4addfed76d255413f5c3f9
[PATCH] Pass in avail_expr_stack and setup edge_infos earlier

PR tree-optimization/47679
* tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos.
(free_all_edge_infos): Use it.
(allocate_edge_info): Free preexisting edge info data.
(pass_dominator::execute): Set up initial edge info structures.
(dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to
thread_across_edge.
* tree-ssa-threadedge.c (thread_across_edge): Accept new argument.  If
non-null, then push/pop markers appropriately.
* tree-ssa-threadedge.h (thread_across_edge): Update prototype.
* tree-vrp.c (identify_jump_threads): Pass NULL for new argument to
thread-across_edge.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227842 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/tree-ssa-dom.c
gcc/tree-ssa-threadedge.c
gcc/tree-ssa-threadedge.h
gcc/tree-vrp.c