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 cfg_layout_finalize, after RTL loop optimizations. In my case, combine has broken that condition.
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. Gr. Steven