This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Scheduler fixes (PR17808)

On Tuesday 05 July 2005 20:31, Vladimir Makarov wrote:
> Steven Bosscher wrote:
> >Hi,
> >
> >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
> patch.

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]