aboutsummaryrefslogtreecommitdiff
path: root/gcc/explow.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2017-02-02 12:39:09 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2017-02-02 12:39:09 +0000
commitda75ca93f8f17847f75ff50d00796e98ccf8509d (patch)
tree3bf382d8d50f62d0ff60f17c00752dbff7a4af7a /gcc/explow.c
parentaa2cbb1a6cf59b6bd3215ed2a53cf88ffcda3bc7 (diff)
downloadgcc-da75ca93f8f17847f75ff50d00796e98ccf8509d.zip
gcc-da75ca93f8f17847f75ff50d00796e98ccf8509d.tar.gz
gcc-da75ca93f8f17847f75ff50d00796e98ccf8509d.tar.bz2
re PR middle-end/78468 (libgomp.c/reduction-10.c and many more FAIL)
PR middle-end/78468 * emit-rtl.c (init_emit): Add ??? comment for problematic alignment settings of the virtual registers. Revert again 2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com> * explow.c (get_dynamic_stack_size): Take known alignment of stack pointer + STACK_DYNAMIC_OFFSET into account when calculating the size needed. From-SVN: r245124
Diffstat (limited to 'gcc/explow.c')
-rw-r--r--gcc/explow.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/gcc/explow.c b/gcc/explow.c
index 4e081fb..67cb6ff 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -1233,15 +1233,9 @@ get_dynamic_stack_size (rtx *psize, unsigned size_align,
example), so we must preventively align the value. We leave space
in SIZE for the hole that might result from the alignment operation. */
- unsigned known_align = REGNO_POINTER_ALIGN (VIRTUAL_STACK_DYNAMIC_REGNUM);
- if (known_align == 0)
- known_align = BITS_PER_UNIT;
- if (required_align > known_align)
- {
- extra = (required_align - known_align) / BITS_PER_UNIT;
- size = plus_constant (Pmode, size, extra);
- size = force_operand (size, NULL_RTX);
- }
+ extra = (required_align - BITS_PER_UNIT) / BITS_PER_UNIT;
+ size = plus_constant (Pmode, size, extra);
+ size = force_operand (size, NULL_RTX);
if (flag_stack_usage_info && pstack_usage_size)
*pstack_usage_size += extra;