remove hack in find_basic_blocks_1
Jan Hubicka
jh@suse.cz
Sat Jul 7 04:37:00 GMT 2001
Hi,
find_basic_blocks_1 contains hack to emit NOP after call if block
is terminated by it. It looks like it's time has passed, as compiler
now uses edge lists in all cases dealing with CFG.
The hack only prevents crossjumping from happenning.
Bootstrapped, regtested i686
Fri Jul 6 15:28:08 CEST 2001 Jan Hubicka <jh@suse.cz>
* flow.c (find_basic_blocks_1): Do not emit NOP after call.
*** flow.c.new Mon Jul 2 13:20:22 2001
--- flow.c Fri Jul 6 15:19:30 2001
*************** find_basic_blocks_1 (f)
*** 849,865 ****
to a barrier or some such, no need to do it again. */
if (head != NULL_RTX)
{
- /* While we now have edge lists with which other portions of
- the compiler might determine a call ending a basic block
- does not imply an abnormal edge, it will be a bit before
- everything can be updated. So continue to emit a noop at
- the end of such a block. */
- if (GET_CODE (end) == CALL_INSN && ! SIBLING_CALL_P (end))
- {
- rtx nop = gen_rtx_USE (VOIDmode, const0_rtx);
- end = emit_insn_after (nop, end);
- }
-
create_basic_block (i++, head, end, bb_note);
bb_note = NULL_RTX;
}
--- 851,856 ----
*************** find_basic_blocks_1 (f)
*** 901,917 ****
jump already closed the basic block -- no need to do it again. */
if (head == NULL_RTX)
break;
-
- /* While we now have edge lists with which other portions of the
- compiler might determine a call ending a basic block does not
- imply an abnormal edge, it will be a bit before everything can
- be updated. So continue to emit a noop at the end of such a
- block. */
- if (GET_CODE (end) == CALL_INSN && ! SIBLING_CALL_P (end))
- {
- rtx nop = gen_rtx_USE (VOIDmode, const0_rtx);
- end = emit_insn_after (nop, end);
- }
goto new_bb_exclusive;
case CALL_INSN:
--- 892,897 ----
More information about the Gcc-patches
mailing list