tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Fix stmt check for POINTER_PLUS_EXPRs, fix the pointer assignment.

2010-07-08  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Fix
	stmt check for POINTER_PLUS_EXPRs, fix the pointer assignment.

From-SVN: r161959
This commit is contained in:
Richard Guenther 2010-07-08 14:58:20 +00:00 committed by Richard Biener
parent b298f92498
commit d0c422cb29
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2010-07-08 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Fix
stmt check for POINTER_PLUS_EXPRs, fix the pointer assignment.
2010-07-08 Jakub Jelinek <jakub@redhat.com>
* dwarf2out.c (mem_loc_descriptor): Use DW_OP_const[48]u

View File

@ -986,7 +986,7 @@ vn_reference_maybe_forwprop_address (VEC (vn_reference_op_s, heap) **ops,
double_int off;
def_stmt = SSA_NAME_DEF_STMT (op->op0);
if (!gimple_assign_single_p (def_stmt))
if (!is_gimple_assign (def_stmt))
return;
code = gimple_assign_rhs_code (def_stmt);
@ -1026,7 +1026,7 @@ vn_reference_maybe_forwprop_address (VEC (vn_reference_op_s, heap) **ops,
return;
off = double_int_add (off, tree_to_double_int (ptroff));
op->op0 = TREE_OPERAND (ptr, 0);
op->op0 = ptr;
}
mem_op->op0 = double_int_to_tree (TREE_TYPE (mem_op->op0), off);