Inconsistent next_bb info when EXIT is a successor
Steven Bosscher
stevenb.gcc@gmail.com
Fri Mar 2 21:08:00 GMT 2007
On 3/2/07, Andrey Belevantsev <abel@ispras.ru> 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
More information about the Gcc
mailing list