Re: Inconsistent next_bb info when EXIT is a successor

2007-03-03 Thread Andrey Belevantsev
Steven Bosscher wrote: > 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. Thanks! It'

Re: Inconsistent next_bb info when EXIT is a successor

2007-03-03 Thread Steven Bosscher
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

Re: Inconsistent next_bb info when EXIT is a successor

2007-03-02 Thread Andrey Belevantsev
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, b

Re: Inconsistent next_bb info when EXIT is a successor

2007-03-02 Thread Steven Bosscher
On 3/2/07, Andrey Belevantsev <[EMAIL PROTECTED]> wrote: I have tried to reorganize the check so that the "e->src->next_bb == e->dest" condition is checked for all edges (see the patch below). Of course, GCC does not bootstrap with this patch, triggering an assert of incorrect fallthru block in

Inconsistent next_bb info when EXIT is a successor

2007-03-02 Thread Andrey Belevantsev
Hello, 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 was wondering why veri