diff options
author | Jeffrey A Law <law@cygnus.com> | 1999-01-15 01:53:08 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-01-14 18:53:08 -0700 |
commit | f387b2e4ff801ce9cf9da33580eabf098e210c85 (patch) | |
tree | 51c62179addd9640f765c71df176ae2ba489d525 | |
parent | 41b6ea681b5466b6bcbae045514f44792ef564a7 (diff) | |
download | gcc-f387b2e4ff801ce9cf9da33580eabf098e210c85.zip gcc-f387b2e4ff801ce9cf9da33580eabf098e210c85.tar.gz gcc-f387b2e4ff801ce9cf9da33580eabf098e210c85.tar.bz2 |
unroll.c (find_splittable_givs): For a DEST_ADDR giv...
* unroll.c (find_splittable_givs): For a DEST_ADDR giv, do not share
a register with another DEST_ADDR giv if the address is not valid.
From-SVN: r24673
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/unroll.c | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fe84462..f15b2c4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ Thu Jan 14 22:38:41 1999 Jeffrey A Law (law@cygnus.com) + * unroll.c (find_splittable_givs): For a DEST_ADDR giv, do not share + a register with another DEST_ADDR giv if the address is not valid. + * pa.c (hppa_expand_epilogue): Save and restore the static chain around the call to mcount. diff --git a/gcc/unroll.c b/gcc/unroll.c index d36fba5..501a6e5 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -2847,8 +2847,11 @@ find_splittable_givs (bl, unroll_type, loop_start, loop_end, increment, To share a register here, the values must be equal. */ && rtx_equal_p (v->same->mult_val, v->mult_val) - && rtx_equal_p (v->same->add_val, v->add_val)) - + && rtx_equal_p (v->same->add_val, v->add_val) + /* If the memory references have different modes, + then the address may not be valid and we must + not share registers. */ + && verify_addresses (v, giv_inc, unroll_number)) { v->dest_reg = v->same->dest_reg; v->shared = 1; |