Commit d176b500 by Richard Biener Committed by Richard Biener

tree-ssa-sccvn.c (vuse_ssa_val): Return NULL for unvisited virtual operands that…

tree-ssa-sccvn.c (vuse_ssa_val): Return NULL for unvisited virtual operands that are not default defs to honor...

2018-08-29  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.c (vuse_ssa_val): Return NULL for unvisited
	virtual operands that are not default defs to honor region
	boundaries.
	(rpo_vn_valueize): Remove ineffective code here.

From-SVN: r263960
parent 8f70fdc3
2018-08-29 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.c (vuse_ssa_val): Return NULL for unvisited
virtual operands that are not default defs to honor region
boundaries.
(rpo_vn_valueize): Remove ineffective code here.
2018-08-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/87132
* tree-ssa-alias.c (get_continuation_for_phi): Do not translate
when skipping defs reachable over backedges.
......
......@@ -474,12 +474,16 @@ vuse_ssa_val (tree x)
do
{
tree tem = SSA_VAL (x);
/* stmt walking can walk over a backedge and reach code we didn't
value-number yet. */
if (tem == VN_TOP)
if (SSA_NAME_IS_DEFAULT_DEF (x))
return x;
x = tem;
vn_ssa_aux_t tem
= vn_ssa_aux_hash->find_with_hash (x, SSA_NAME_VERSION (x));
/* For region-based VN this makes walk_non_aliased_vuses stop walking
when we are about to look at a def outside of the region. */
if (!tem || !tem->visited)
return NULL_TREE;
gcc_assert (tem->valnum != VN_TOP);
x = tem->valnum;
}
while (SSA_NAME_IN_FREE_LIST (x));
......@@ -5751,11 +5755,6 @@ rpo_vn_valueize (tree name)
if (TREE_CODE (name) == SSA_NAME)
{
vn_ssa_aux_t val = VN_INFO (name);
/* For region-based VN this makes walk_non_aliased_vuses stop walking
when we are about to look at a def outside of the region. */
if (SSA_NAME_IS_VIRTUAL_OPERAND (name)
&& !val->visited)
return NULL_TREE;
if (val)
{
tree tem = val->valnum;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment