Preserving clobbers in scheduling

Jeff Sturm jsturm@one-point.com
Sun Sep 2 08:43:00 GMT 2001


On Thu, 30 Aug 2001, Richard Henderson wrote:
> On Thu, Aug 30, 2001 at 01:04:00AM -0400, Jeff Sturm wrote:
> > Since SPARC uses %i0-i3 for EH return data, the above applies in this
> > case.  And the clobber works as expected, if not for the scheduling pass,
> > where it is moved beyond the insns that are dependent on it.
> 
> Do this right after the clobbers:
> 
>   /* @@@ This is a kludge.  Not all machine descriptions define a blockage
>      insn, but we must not allow the code we just generated to be reordered
>      by scheduling.  So emit an ASM_INPUT to act as blockage insn.  */
>   emit_insn (gen_rtx_ASM_INPUT (VOIDmode, ""));

Yes, that's what was needed.  I wasn't aware of the blockage insn.
Thanks!

Jeff



More information about the Gcc mailing list