aboutsummaryrefslogtreecommitdiff
path: root/gcc/flow.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2001-08-23 17:33:13 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2001-08-23 15:33:13 +0000
commitab75d1f125b1f3c49531f1be44f9298d3024c452 (patch)
tree683e4deef72e3ce3b0616d0f5f849e25fd198574 /gcc/flow.c
parentd0708dc1b9bcd94c95025bb532aeff64abba5b10 (diff)
downloadgcc-ab75d1f125b1f3c49531f1be44f9298d3024c452.zip
gcc-ab75d1f125b1f3c49531f1be44f9298d3024c452.tar.gz
gcc-ab75d1f125b1f3c49531f1be44f9298d3024c452.tar.bz2
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
Diffstat (limited to 'gcc/flow.c')
-rw-r--r--gcc/flow.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/flow.c b/gcc/flow.c
index 5e3a6ae..1360c7e 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -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);
}