2009-06-30 Martin Jambor <mjambor@suse.cz>
authorjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Jun 2009 10:03:26 +0000 (10:03 +0000)
committerjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Jun 2009 10:03:26 +0000 (10:03 +0000)
PR middle-end/40554
* tree-sra.c (sra_modify_expr): Add access->offset to start_offset.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149087 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-sra.c

index af585a4..554de52 100644 (file)
@@ -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
index d26e03b..4529754 100644 (file)
@@ -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;