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