function.c (thread_prologue_and_epilogue_insns): Avoid fallthru flag on edge to exit.

* function.c (thread_prologue_and_epilogue_insns): Avoid
	fallthru flag on edge to exit.

	* i386.md (trunc?fsi splitter): Conditionionize for non-sse.

	* flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
	dead edges.

From-SVN: r45135
This commit is contained in:
Jan Hubicka 2001-08-23 17:33:13 +02:00 committed by Jan Hubicka
parent d0708dc1b9
commit ab75d1f125
4 changed files with 18 additions and 2 deletions

View File

@ -1,3 +1,13 @@
Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka <jh@suse.cz>
* function.c (thread_prologue_and_epilogue_insns): Avoid
fallthru flag on edge to exit.
* i386.md (trunc?fsi splitter): Conditionionize for non-sse.
* flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
dead edges.
2001-08-23 Lars Brinkhoff <lars@nocrew.org>
* config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.

View File

@ -4818,7 +4818,7 @@
&& !reload_completed && !reload_in_progress
&& !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))"
"#"
""
"&& 1"
[(const_int 0)]
{
operands[2] = assign_386_stack_local (HImode, 1);

View File

@ -4663,6 +4663,8 @@ delete_noop_moves (f)
PUT_CODE (insn, NOTE);
NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
NOTE_SOURCE_FILE (insn) = 0;
if (insn == bb->end)
purge_dead_edges (bb);
}
}
}
@ -5250,7 +5252,10 @@ propagate_block_delete_insn (bb, insn)
}
if (bb->end == insn)
bb->end = PREV_INSN (insn);
{
bb->end = PREV_INSN (insn);
purge_dead_edges (bb);
}
flow_delete_insn (insn);
}

View File

@ -7336,6 +7336,7 @@ thread_prologue_and_epilogue_insns (f)
emit_barrier_after (last->end);
emit_return_into_block (last, epilogue_line_note);
epilogue_end = last->end;
last->succ->flags &= ~EDGE_FALLTHRU;
goto epilogue_done;
}
}