diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1998-07-06 22:55:30 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-07-06 16:55:30 -0600 |
commit | b294ca3876dd7469827b0fcf4b542c79565c3cee (patch) | |
tree | 024c4934e31bcd38ce80c719c19ffdf057ebb15b | |
parent | 6186ed06d2f4294816b5514bb01383d7dc2b2045 (diff) | |
download | gcc-b294ca3876dd7469827b0fcf4b542c79565c3cee.zip gcc-b294ca3876dd7469827b0fcf4b542c79565c3cee.tar.gz gcc-b294ca3876dd7469827b0fcf4b542c79565c3cee.tar.bz2 |
reload1.c (delete_dead_insn): Don't delete feeding insn if that insn has side effects.
* reload1.c (delete_dead_insn): Don't delete feeding insn
if that insn has side effects.
From-SVN: r20975
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/reload1.c | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b47a532..bc81171 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -13,6 +13,9 @@ Mon Jul 6 22:50:48 1998 Jason Merrill <jason@yorick.cygnus.com> Mon Jul 6 22:47:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + * reload1.c (delete_dead_insn): Don't delete feeding insn + if that insn has side effects. + * flow.c (find_auto_inc): Clear UNCHANGING bit of register that is changed. diff --git a/gcc/reload1.c b/gcc/reload1.c index 73fd5d9..456abb0 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -2449,7 +2449,8 @@ delete_dead_insn (insn) if (prev && GET_CODE (PATTERN (prev)) == SET && (prev_dest = SET_DEST (PATTERN (prev)), GET_CODE (prev_dest) == REG) && reg_mentioned_p (prev_dest, PATTERN (insn)) - && find_regno_note (insn, REG_DEAD, REGNO (prev_dest))) + && find_regno_note (insn, REG_DEAD, REGNO (prev_dest)) + && ! side_effects_p (SET_SRC (PATTERN (prev)))) delete_dead_insn (prev); PUT_CODE (insn, NOTE); |