basic_block_head[]/basic_block_tail[] questions

Jeffrey A Law law@cygnus.com
Sat Aug 15 17:46:00 GMT 1998


  In message < 199808151124.EAA24081@netcom8.netcom.com >you write:
  > I'm seeing some strange problems with reload and I think it may have 
  > something to do with basic_block_head[] and basic_block_tail[]...
  > 
  > Specifically, the current implementation of basic_block_head[] and 
  > basic_block_tail[] seem to point at actual insns. This seems bad
  > because reload calls emit_insn_before() and emit_insn_after(), and these 
  > functions seem unaware of the existence of the basic_block_head/tail arrays.
  > 
  > Consider: if reload generates a spill for the first insn of a 
  > basic block, it seems to insert the insns into the basic block outside 
  > the one intended, or even outside the outermost basic block, like this:
It's a problem, but not a serious one.  Nothing bad should happen as
far as I know.

Of course, by not having those insns in basic blocks they are not
being scheduled, which is a performance issue.

Feel free to submit code to try and fix this (or even subcases).
jeff



More information about the Gcc-bugs mailing list