Commit 1d9d04f8 by Richard Stallman

(allocate_dynamic_stack_space): If STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET...

(allocate_dynamic_stack_space): If STACK_DYNAMIC_OFFSET
or STACK_POINTER_OFFSET, always round address up to BIGGEST_ALIGNMENT.

From-SVN: r2292
parent 09dafdad
...@@ -865,7 +865,11 @@ allocate_dynamic_stack_space (size, target, known_align) ...@@ -865,7 +865,11 @@ allocate_dynamic_stack_space (size, target, known_align)
#ifdef MUST_ALIGN #ifdef MUST_ALIGN
#if !defined (STACK_DYNAMIC_OFFSET) && !defined (STACK_POINTER_OFFSET)
/* If we have to round the address up regardless of known_align,
make extra space regardless, also. */
if (known_align % BIGGEST_ALIGNMENT != 0) if (known_align % BIGGEST_ALIGNMENT != 0)
#endif
{ {
if (GET_CODE (size) == CONST_INT) if (GET_CODE (size) == CONST_INT)
size = GEN_INT (INTVAL (size) size = GEN_INT (INTVAL (size)
...@@ -875,6 +879,7 @@ allocate_dynamic_stack_space (size, target, known_align) ...@@ -875,6 +879,7 @@ allocate_dynamic_stack_space (size, target, known_align)
GEN_INT (BIGGEST_ALIGNMENT / BITS_PER_UNIT - 1), GEN_INT (BIGGEST_ALIGNMENT / BITS_PER_UNIT - 1),
NULL_RTX, 1, OPTAB_LIB_WIDEN); NULL_RTX, 1, OPTAB_LIB_WIDEN);
} }
#endif #endif
#ifdef SETJMP_VIA_SAVE_AREA #ifdef SETJMP_VIA_SAVE_AREA
...@@ -952,7 +957,11 @@ allocate_dynamic_stack_space (size, target, known_align) ...@@ -952,7 +957,11 @@ allocate_dynamic_stack_space (size, target, known_align)
#endif #endif
#ifdef MUST_ALIGN #ifdef MUST_ALIGN
/* If virtual_stack_dynamic_rtx might not share the alignment of
the stack pointer register, we must always realign the stack address. */
#if !defined (STACK_DYNAMIC_OFFSET) && !defined (STACK_POINTER_OFFSET)
if (known_align % BIGGEST_ALIGNMENT != 0) if (known_align % BIGGEST_ALIGNMENT != 0)
#endif
{ {
target = expand_divmod (0, CEIL_DIV_EXPR, Pmode, target, target = expand_divmod (0, CEIL_DIV_EXPR, Pmode, target,
GEN_INT (BIGGEST_ALIGNMENT / BITS_PER_UNIT), GEN_INT (BIGGEST_ALIGNMENT / BITS_PER_UNIT),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment