Re-apply: Drop excess size used for run time allocated stack variables.
The patch got reverted after hitting PR77359 which turned out to be a rs6000 backend problem. Reapplying after the PR got fixed. gcc/ChangeLog: 2016-11-18 Dominik Vogt <vogt@linux.vnet.ibm.com> Re-apply after PR bootstrap/77359 is fixed: 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. --This line, and those below, will be ignored-- M gcc/ChangeLog M gcc/explow.c From-SVN: r242590
This commit is contained in:
parent
a7790c7174
commit
d793185949
|
@ -1,3 +1,12 @@
|
|||
2016-11-18 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||||
|
||||
Re-apply after PR bootstrap/77359 is fixed:
|
||||
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-11-18 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||||
|
||||
PR bootstrap/77359
|
||||
|
|
12
gcc/explow.c
12
gcc/explow.c
|
@ -1233,9 +1233,15 @@ 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. */
|
||||
|
||||
extra = (required_align - BITS_PER_UNIT) / BITS_PER_UNIT;
|
||||
size = plus_constant (Pmode, size, extra);
|
||||
size = force_operand (size, NULL_RTX);
|
||||
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);
|
||||
}
|
||||
|
||||
if (flag_stack_usage_info && pstack_usage_size)
|
||||
*pstack_usage_size += extra;
|
||||
|
|
Loading…
Reference in New Issue