aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-sra.c
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2011-08-08 19:53:55 +0200
committerMartin Jambor <jamborm@gcc.gnu.org>2011-08-08 19:53:55 +0200
commit1ad663a82a1fe4993ac63ca028477916dd9535f1 (patch)
tree0a2be7250f6278b014273bde5c9bd9112fcd10c9 /gcc/tree-sra.c
parentf0efc7aa7705facdb16a39a08137cf748c7d5f30 (diff)
downloadgcc-1ad663a82a1fe4993ac63ca028477916dd9535f1.zip
gcc-1ad663a82a1fe4993ac63ca028477916dd9535f1.tar.gz
gcc-1ad663a82a1fe4993ac63ca028477916dd9535f1.tar.bz2
re PR middle-end/49923 (__attribute__((packed)) on ARM is sometimes dropped)
2011-08-08 Martin Jambor <mjambor@suse.cz> PR middle-end/49923 * tree-sra.c (access_precludes_ipa_sra_p): Also check access memory alignment. * testsuite/gcc.dg/tree-ssa/pr49923.c: New test. From-SVN: r177572
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r--gcc/tree-sra.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index cc5cd36..ab60748 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -3688,6 +3688,9 @@ access_precludes_ipa_sra_p (struct access *access)
|| gimple_code (access->stmt) == GIMPLE_ASM))
return true;
+ if (tree_non_mode_aligned_mem_p (access->expr))
+ return true;
+
return false;
}