summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2009-06-30 12:03:26 +0200
committerMartin Jambor <jamborm@gcc.gnu.org>2009-06-30 12:03:26 +0200
commitf57017cdbb460190ba75d6c7c1590253a2df849c (patch)
treeb7fc79021e678e6310eb88d8d23ad9ca6f0a8fc5 /gcc
parent42bc61e05685cc6a4d96d9005dbab2e87351dddd (diff)
downloadgcc-f57017cdbb460190ba75d6c7c1590253a2df849c.tar.gz
re PR middle-end/40554 (Revision 148941 miscompiled 447.dealII in SPEC CPU 2006)
2009-06-30 Martin Jambor <mjambor@suse.cz> PR middle-end/40554 * tree-sra.c (sra_modify_expr): Add access->offset to start_offset. From-SVN: r149087
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-sra.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index af585a45f30..554de52b80e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-06-30 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/40554
+ * tree-sra.c (sra_modify_expr): Add access->offset to start_offset.
+
2009-06-30 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.c (walk_aliased_vdefs_1): Change interface to
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index d26e03b5095..4529754108c 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -1908,7 +1908,8 @@ sra_modify_expr (tree *expr, gimple_stmt_iterator *gsi, bool write,
&& host_integerp (TREE_OPERAND (bfr, 2), 1))
{
chunk_size = tree_low_cst (TREE_OPERAND (bfr, 1), 1);
- start_offset = tree_low_cst (TREE_OPERAND (bfr, 2), 1);
+ start_offset = access->offset
+ + tree_low_cst (TREE_OPERAND (bfr, 2), 1);
}
else
start_offset = chunk_size = 0;