diff options
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/reload1.c | 3 |
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. */ |
