This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Basic block numbers no longer in sequence
- To: Bernd Schmidt <bernds at cygnus dot co dot uk>
- Subject: Re: Basic block numbers no longer in sequence
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Thu, 23 Sep 1999 09:55:17 -0600
- cc: gcc-patches at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
In message <Pine.LNX.4.10.9909231640580.16980-100000@biriani.cygnus.co.uk>you
write:
> All that appears to happen properly. merge_blocks_move_predecessor_nojumps
> gets called with a == block 4 and b == block 22. This moves block 4 before
> block 22, merges them, deletes block 22, and renumbers everything from
> block 23 upward to have a reduced block number. But the block number
> sequence we get is
> 1, 2, 3, 5, ... 21, 4, 22, ....
> and that causes build_insn_chain to fall over.
OK. We should have deleted block 4, not block 22. ie, we need to delete the
block we move since that will always be the one out of order. And we need
to reorder starting with the lower block number. Ugh. I'll put this on my
list (since it's my code breaking things) unless you want it.
jeff