aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2011-07-31 10:05:07 +0000
committerTom de Vries <vries@gcc.gnu.org>2011-07-31 10:05:07 +0000
commitf047e5183b142d9f0c64b17d8e51f328fe02d2f1 (patch)
tree9d3280c7da95b94ed561efdf6f12925f88893384
parent2a6dcb7e7383a8310a6442c9fc47b9b38c4d0680 (diff)
downloadgcc-f047e5183b142d9f0c64b17d8e51f328fe02d2f1.zip
gcc-f047e5183b142d9f0c64b17d8e51f328fe02d2f1.tar.gz
gcc-f047e5183b142d9f0c64b17d8e51f328fe02d2f1.tar.bz2
re PR middle-end/43513 (The stack pointer is adjusted twice)
2011-07-31 Tom de Vries <tom@codesourcery.com> PR middle-end/43513 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Use max of get_object_alignment and TYPE_ALIGN. From-SVN: r176969
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-ssa-loop-ivopts.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 99968b3..5e64d3e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-07-31 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/43513
+ * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Use max of
+ get_object_alignment and TYPE_ALIGN.
+
2011-07-30 Tom de Vries <tom@codesourcery.com>
PR middle-end/43513
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c
index 4d4b67a..cc9b2dd 100644
--- a/gcc/tree-ssa-loop-ivopts.c
+++ b/gcc/tree-ssa-loop-ivopts.c
@@ -1635,7 +1635,8 @@ may_be_unaligned_p (tree ref, tree step)
base = get_inner_reference (ref, &bitsize, &bitpos, &toffset, &mode,
&unsignedp, &volatilep, true);
base_type = TREE_TYPE (base);
- base_align = TYPE_ALIGN (base_type);
+ base_align = get_object_alignment (base, BIGGEST_ALIGNMENT);
+ base_align = MAX (base_align, TYPE_ALIGN (base_type));
if (mode != BLKmode)
{