From f57017cdbb460190ba75d6c7c1590253a2df849c Mon Sep 17 00:00:00 2001 From: Martin Jambor Date: Tue, 30 Jun 2009 12:03:26 +0200 Subject: [PATCH] re PR middle-end/40554 (Revision 148941 miscompiled 447.dealII in SPEC CPU 2006) 2009-06-30 Martin Jambor PR middle-end/40554 * tree-sra.c (sra_modify_expr): Add access->offset to start_offset. From-SVN: r149087 --- gcc/ChangeLog | 5 +++++ gcc/tree-sra.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index af585a45f30c..554de52b80e5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-06-30 Martin Jambor + + PR middle-end/40554 + * tree-sra.c (sra_modify_expr): Add access->offset to start_offset. + 2009-06-30 Richard Guenther * tree-ssa-alias.c (walk_aliased_vdefs_1): Change interface to diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index d26e03b50953..4529754108c6 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;