On Tue, May 8, 2012 at 6:32 AM, Alan Modra <amo...@gmail.com> wrote:

> OK, the assert is doing its job.  I wanted to minimize the number of
> places that need temporary hard regs, so that tracking of which hard
> reg is in use can all be done in rs6000_emit_prologue.
>
> The problem is that the insns here need reg+reg addressing on SPE,
> but as the ??? comment says we really don't need insns, just the eh
> unwind reg info.  So that is what the following patch does, attaching
> the eh info to a blockage.
>
> I also make use of gen_frame_store and siblings that I invented for
> generating the eh info, elsewhere in rs6000.c where doing so is
> blindingly obvious.  We could probably use them in other places too,
> but I'll leave that for later.  Bootstrapped and regression tested
> powerpc-linux.  OK to apply?
>
>        PR target/53271
>        * config/rs6000/rs6000.c (gen_frame_set): New function.
>        (gen_frame_load, gen_frame_store): New functions.
>        (rs6000_savres_rtx): Use the above.
>        (rs6000_emit_epilogue, rs6000_emit_prologue): Here too.
>        Correct mode used for CR2 in save/restore_world patterns.
>        Don't emit instructions for eh_return frame unwind reg info.

Okay.

Thanks, David

Reply via email to