From: Jeffrey A Law Date: Fri, 15 Jan 1999 01:53:08 +0000 (+0000) Subject: unroll.c (find_splittable_givs): For a DEST_ADDR giv... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f387b2e4ff801ce9cf9da33580eabf098e210c85;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fe84462ef48..f15b2c45081 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 d36fba5555c..501a6e51792 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;