This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Basic block numbers no longer in sequence


  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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]