aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssa-alias.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 810fa4a..4caa402 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-05-17 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-alias.c (stmt_kills_ref_p_1): Properly compare
+ MEM_REF offsets.
+
2013-05-17 Jakub Jelinek <jakub@redhat.com>
* gcc.c (SANITIZER_SPEC): Reject -fsanitize=address -fsanitize=thread
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index 971a347..2ecd139 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -2002,8 +2002,8 @@ stmt_kills_ref_p_1 (gimple stmt, ao_ref *ref)
if (TREE_CODE (base) == MEM_REF && TREE_CODE (ref->base) == MEM_REF
&& TREE_OPERAND (base, 0) == TREE_OPERAND (ref->base, 0))
{
- if (!tree_int_cst_equal (TREE_OPERAND (base, 0),
- TREE_OPERAND (ref->base, 0)))
+ if (!tree_int_cst_equal (TREE_OPERAND (base, 1),
+ TREE_OPERAND (ref->base, 1)))
{
double_int off1 = mem_ref_offset (base);
off1 = off1.lshift (BITS_PER_UNIT == 8