aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2002-03-07 16:55:03 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2002-03-07 15:55:03 +0000
commit66d5434463e7a5fb6cb755e63cd8c3bee912d581 (patch)
treefa315b00edd0852d2f5b932307c59c854f01a899 /gcc
parent068473ec92aa0bca1066db130b95abef40c6d418 (diff)
downloadgcc-66d5434463e7a5fb6cb755e63cd8c3bee912d581.zip
gcc-66d5434463e7a5fb6cb755e63cd8c3bee912d581.tar.gz
gcc-66d5434463e7a5fb6cb755e63cd8c3bee912d581.tar.bz2
* reload1.c (reload_cse_delete_noop_set): Purge dead edges.
From-SVN: r50406
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/reload1.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c259bcd..09c6190 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
+
+ * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
+
Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
* basic-block.h (fixup_abnormal_edges): Declare.
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 3b4bb2d..a3519ef 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -8019,6 +8019,7 @@ static void
reload_cse_delete_noop_set (insn, value)
rtx insn, value;
{
+ bool purge = BLOCK_FOR_INSN (insn)->end == insn;
if (value)
{
PATTERN (insn) = gen_rtx_USE (VOIDmode, value);
@@ -8027,6 +8028,8 @@ reload_cse_delete_noop_set (insn, value)
}
else
delete_insn (insn);
+ if (purge)
+ purge_dead_edges (BLOCK_FOR_INSN (insn));
}
/* See whether a single set SET is a noop. */