* 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
+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.
&& !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);
PUT_CODE (insn, NOTE);
NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
NOTE_SOURCE_FILE (insn) = 0;
+ if (insn == bb->end)
+ purge_dead_edges (bb);
}
}
}
}
if (bb->end == insn)
- bb->end = PREV_INSN (insn);
+ {
+ bb->end = PREV_INSN (insn);
+ purge_dead_edges (bb);
+ }
flow_delete_insn (insn);
}
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;
}
}