This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Preserving clobbers in scheduling
- To: Richard Henderson <rth at redhat dot com>
- Subject: Re: Preserving clobbers in scheduling
- From: Jeff Sturm <jsturm at one-point dot com>
- Date: Sun, 2 Sep 2001 11:55:14 -0400 (EDT)
- cc: gcc at gcc dot gnu dot org
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