Revert "Drop excess size used for run time allocated stack variables."
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Wed, 24 Aug 2016 10:56:37 +0000 (10:56 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Wed, 24 Aug 2016 10:56:37 +0000 (10:56 +0000)
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

gcc/ChangeLog
gcc/explow.c

index 8d104ec..66ec428 100644 (file)
@@ -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
index f97a214..b14291d 100644 (file)
@@ -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;