aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2016-08-24 10:56:37 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2016-08-24 10:56:37 +0000
commitb9553e20ad92d1c29416d72061816712b7bea39d (patch)
tree2e11fdf0443fbb511d7ed3a149f4acbf9633d951 /gcc
parent0630b8ec3d991a3a7bbd1e041a167a1424c1d388 (diff)
downloadgcc-b9553e20ad92d1c29416d72061816712b7bea39d.zip
gcc-b9553e20ad92d1c29416d72061816712b7bea39d.tar.gz
gcc-b9553e20ad92d1c29416d72061816712b7bea39d.tar.bz2
Revert "Drop excess size used for run time allocated stack variables."
This patch caused a bootstrap failure on AIX. 2016-08-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> Revert 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: r239735
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/explow.c12
2 files changed, 12 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8d104ec..66ec428 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2016-08-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ Revert
+ 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.
+
2016-08-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
* doc/fragments.texi (MULTILIB_REUSE): Mention that only options in
diff --git a/gcc/explow.c b/gcc/explow.c
index f97a214..b14291d 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -1224,15 +1224,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;