This is the mail archive of the gcc-bugs@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_head[]/basic_block_tail[] questions



  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


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