[PATCH] rs6000: Don't touch below the stack pointer (PR77687)

Olivier Hainque hainque@adacore.com
Thu Sep 21 08:00:00 GMT 2017


Hi Segher,

> On 19 Sep 2017, at 23:21, Segher Boessenkool <segher@kernel.crashing.org> wrote:
> 
> With the 32-bit SVR4 ABI we don't have a red zone, so we have to restore
> the callee-saved registers before we restore the stack pointer.
> 
> The previous fix for this PR failed in two ways, for huge frames: first,
> we use a negative offset from r11 in that case, so the (mem:BLK 11) access
> does no good; second, sched does not handle accesses to mem:BLK correctly
> in this case (does not make dependencies).
> 
> This patch fixes it by doing a store to (mem:BLK (scratch)) instead.
> This means no unrelated (not to stack) loads/stores can be moved over the
> stack restore either, but so be it.
> 
> I intend to commit this tomorrow if there are no objections.

I see your change was checked-in and the testcase filed, great!

Thanks a lot again for your help on this, much appreciated :-)

With Kind Regards,

Olivier



More information about the Gcc-patches mailing list