diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1998-07-06 22:53:34 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-07-06 16:53:34 -0600 |
commit | 6186ed06d2f4294816b5514bb01383d7dc2b2045 (patch) | |
tree | c85be3c0128c21f521e65f94c04b2ed93230a614 | |
parent | 979e20e973b8ca7ccc0e9065d1e99149af7efaae (diff) | |
download | gcc-6186ed06d2f4294816b5514bb01383d7dc2b2045.zip gcc-6186ed06d2f4294816b5514bb01383d7dc2b2045.tar.gz gcc-6186ed06d2f4294816b5514bb01383d7dc2b2045.tar.bz2 |
flow.c (find_auto_inc): Clear UNCHANGING bit of register that is changed.
* flow.c (find_auto_inc): Clear UNCHANGING bit of register that is
changed.
From-SVN: r20974
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/flow.c | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 47fdf7a..b47a532 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> + * flow.c (find_auto_inc): Clear UNCHANGING bit of register that is + changed. + * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OPADDR_ADDR precedes RELOAD_FOR_OUTADDR_ADDRESS. @@ -2386,6 +2386,10 @@ find_auto_inc (needed, x, insn) Then fall into the usual case. */ rtx insns, temp; + /* Since q is now changed, clear its UNCHANGING bit. Otherwise, + we would confuse alias.c when this pseudo ends up in a stack + slot. */ + RTX_UNCHANGING_P (q) = 0; start_sequence (); emit_move_insn (q, addr); insns = get_insns (); |