===================================================================
@@ -1218,12 +1218,12 @@ vn_reference_lookup_3 (ao_ref *ref, tree
tree lhs = gimple_assign_lhs (def_stmt);
ao_ref ref1;
VEC (vn_reference_op_s, heap) *operands = NULL;
- bool res;
+ bool res = true;
copy_reference_ops_from_ref (lhs, &operands);
operands = valueize_refs (operands);
- ao_ref_init_from_vn_reference (&ref1, get_alias_set (lhs),
- TREE_TYPE (lhs), operands);
- res = refs_may_alias_p_1 (ref, &ref1, true);
+ if (ao_ref_init_from_vn_reference (&ref1, get_alias_set (lhs),
+ TREE_TYPE (lhs), operands))
+ res = refs_may_alias_p_1 (ref, &ref1, true);
VEC_free (vn_reference_op_s, heap, operands);
if (!res)
return NULL;
===================================================================
@@ -1,5 +1,9 @@
2010-07-04 Richard Guenther <rguenther@suse.de>
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Fix last commit.
+
+2010-07-04 Richard Guenther <rguenther@suse.de>
+
PR tree-optimization/44656
* tree-ssa-sccvn.c (vn_reference_lookup_3): Try disambiguation
again after value-replacing in the defintions lhs.