This is the mail archive of the
mailing list for the GCC project.
Re: Scheduler fixes (PR17808)
- From: Steven Bosscher <stevenb at novell dot com>
- To: Vladimir Makarov <vmakarov at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Andrey Belevantsev <abel at ispras dot ru>, rearnsha at gcc dot gnu dot org
- Date: Tue, 5 Jul 2005 20:51:50 +0200
- Subject: Re: Scheduler fixes (PR17808)
- References: <firstname.lastname@example.org> <email@example.com> <42CAD21F.firstname.lastname@example.org>
On Tuesday 05 July 2005 20:31, Vladimir Makarov wrote:
> Steven Bosscher wrote:
> >This patch is Maxim Kuvyrkov's fix for the interblock scheduling
> >dependencies problem, and my fix for the intra-block case.
> >For the interblock problem , sched-deps should not clear the
> >reg_pending_* lists when facing a conditional jump. Without the
> >patch, the scheduler would produce wrong code.
> >In the intra-block case, the patch makes sched-rgn add dependencies
> >on all cond_exec insns to jumps at the end of (single-block) regions,
> >so that the cond_exec insns are scheduled before the jump even if
> >sched_get_condition says that the insn are not dependent. Without
> >the patch, the jump ends up in the middle of the basic block, and we
> >get an ICE. I have not tested this part of the patch yet because I
> >don't know how to test a cross to ARM (or another cond_exec target
> >that uses sched-rgn after reload).
> It is responsibility of sched-rgn.c to put JUMP as the last insn in the
> final schedule. So Maxim's patch is enough. I've just approved Maxim's
Yes it is its responsibility. And no, it doesn't do that without my
patch. Maxim's patch is not enough in the intra-block scheduling case.