[AArch64] Unify callee save slot allocation for X29 and X30.
Co-Authored-By: Jiong Wang <jiong.wang@arm.com> From-SVN: r211273
This commit is contained in:
parent
5ae98e828d
commit
2e1cdae5db
@ -1,3 +1,10 @@
|
||||
2014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
||||
Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
* config/aarch64/aarch64.c (aarch64_layout_frame): Correct
|
||||
initialization of R30 offset. Update offset. Iterate core
|
||||
regisers upto X30. Remove X29, X30 specific code.
|
||||
|
||||
2014-06-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
||||
Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
|
@ -1841,13 +1841,15 @@ aarch64_layout_frame (void)
|
||||
|
||||
if (frame_pointer_needed)
|
||||
{
|
||||
cfun->machine->frame.reg_offset[R30_REGNUM] = 0;
|
||||
/* FP and LR are placed in the linkage record. */
|
||||
cfun->machine->frame.reg_offset[R29_REGNUM] = 0;
|
||||
cfun->machine->frame.reg_offset[R30_REGNUM] = UNITS_PER_WORD;
|
||||
cfun->machine->frame.hardfp_offset = 2 * UNITS_PER_WORD;
|
||||
offset += 2 * UNITS_PER_WORD;
|
||||
}
|
||||
|
||||
/* Now assign stack slots for them. */
|
||||
for (regno = R0_REGNUM; regno <= R28_REGNUM; regno++)
|
||||
for (regno = R0_REGNUM; regno <= R30_REGNUM; regno++)
|
||||
if (cfun->machine->frame.reg_offset[regno] == SLOT_REQUIRED)
|
||||
{
|
||||
cfun->machine->frame.reg_offset[regno] = offset;
|
||||
@ -1861,18 +1863,6 @@ aarch64_layout_frame (void)
|
||||
offset += UNITS_PER_WORD;
|
||||
}
|
||||
|
||||
if (frame_pointer_needed)
|
||||
{
|
||||
cfun->machine->frame.reg_offset[R29_REGNUM] = offset;
|
||||
offset += UNITS_PER_WORD;
|
||||
}
|
||||
|
||||
if (cfun->machine->frame.reg_offset[R30_REGNUM] == SLOT_REQUIRED)
|
||||
{
|
||||
cfun->machine->frame.reg_offset[R30_REGNUM] = offset;
|
||||
offset += UNITS_PER_WORD;
|
||||
}
|
||||
|
||||
cfun->machine->frame.padding0 =
|
||||
(AARCH64_ROUND_UP (offset, STACK_BOUNDARY / BITS_PER_UNIT) - offset);
|
||||
offset = AARCH64_ROUND_UP (offset, STACK_BOUNDARY / BITS_PER_UNIT);
|
||||
|
Loading…
x
Reference in New Issue
Block a user