From f387b2e4ff801ce9cf9da33580eabf098e210c85 Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Fri, 15 Jan 1999 01:53:08 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 3 +++ gcc/unroll.c | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) 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; -- 2.30.2