On 5/23/06, DJ Delorie <[EMAIL PROTECTED]> wrote:
What seems to happen is, we delete the simple jump even if we can't
fallthru, and thus the blocks get rearranged in an incorrect order.

Is there a bug here, or am I misunderstanding how this code works?

You're misunderstanding how this code works.  In cfglayout mode, there
is no "order" in the basic blocks such that
BLOCK_FOR_INSN(NEXT_INSN(BB_END(BB)) ) == BB->next_bb. This means that
you can fall through to other blocks than next_bb.
cfg_layout_finalize should fix this up where necessary when you go
back into cfgrtl mode.

Perhaps  http://gcc.gnu.org/wiki/cfglayout%20mode can help explain
this a bit more.

Gr.
Steven

Reply via email to