diff options
author | Tom de Vries <tom@codesourcery.com> | 2011-07-31 10:05:07 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2011-07-31 10:05:07 +0000 |
commit | f047e5183b142d9f0c64b17d8e51f328fe02d2f1 (patch) | |
tree | 9d3280c7da95b94ed561efdf6f12925f88893384 /gcc/tree-ssa-loop-ivopts.c | |
parent | 2a6dcb7e7383a8310a6442c9fc47b9b38c4d0680 (diff) | |
download | gcc-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
Diffstat (limited to 'gcc/tree-ssa-loop-ivopts.c')
-rw-r--r-- | gcc/tree-ssa-loop-ivopts.c | 3 |
1 files changed, 2 insertions, 1 deletions
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) { |