On 3/2/07, Andrey Belevantsev <[EMAIL PROTECTED]> wrote:
Steven Bosscher wrote:
> No. The condition you're checking is simply not true in cfglayout
> mode. The whole point of cfglayout mode is to get rid of the
> requirement that basic blocks are serial. That means a fallthru edge
> in cfglayout mode doesn't have to go to next_bb. It can go to *any*
> bb.
Yes, but I'm not in cfglayout mode, because I'm either in sched1 or
sched2.  In that case, should this condition be preserved or not?

The condition should always be preserved when you are not in cfglayout
mode, but...

You wrote:
> > During my work on the selective scheduler I have triggered an assert in
> > our code saying that a fall-through edge should have e->src->next_bb ==
> > e->dest. This was for a bb with EXIT_BLOCK as its fall-through
> > successor, but its next_bb pointing to another block.

I don't understand this.  You're saying there is a fallthrough edge
from your e->src to  EXIT_BLOCK. This case is explicitly allowed by
the checking code. It is an exception from the rule: For a fallthrough
edge to EXIT, e->src->next_bb != e->dest is OK.

It is hard to tell without more context what your problem is. That
assert, is it an assert in your own code?  Maybe it is too strict?

Gr.
Steven



Gr.
Steven

Reply via email to