Commit c87a0a39 by Jeffrey A Law Committed by Jeff Law

function.c (assign_stack_temp_for_type): Round SIZE before calling…

function.c (assign_stack_temp_for_type): Round SIZE before calling assign_stack_local for BLKmode slots.

        * function.c (assign_stack_temp_for_type): Round SIZE before calling
        assign_stack_local for BLKmode slots.

From-SVN: r25290
parent 743f9f5d
Thu Feb 18 18:47:09 1999 Jeffrey A Law (law@cygnus.com)
* function.c (assign_stack_temp_for_type): Round SIZE before calling
assign_stack_local for BLKmode slots.
Fri Feb 19 01:45:06 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
* loop.c (strength_reduce): For derived givs, replace the
......
......@@ -963,6 +963,18 @@ assign_stack_temp_for_type (mode, size, keep, type)
p = (struct temp_slot *) oballoc (sizeof (struct temp_slot));
/* We are passing an explicit alignment request to assign_stack_local.
One side effect of that is assign_stack_local will not round SIZE
to ensure the frame offset remains suitably aligned.
So for requests which depended on the rounding of SIZE, we go ahead
and round it now. We also make sure ALIGNMENT is at least
BIGGEST_ALIGNMENT. */
if (mode == BLKmode)
{
align = MAX (align, BIGGEST_ALIGNMENT / BITS_PER_UNIT);
size = CEIL_ROUND (size, align);
}
p->slot = assign_stack_local (mode, size, align);
p->align = align;
......
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