diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/loop.c | 9 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7a1df4cc9e0..47a4b826838 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2001-01-07 Michael Hayes <mhayes@redhat.com> + + * loop.c (emit_iv_add_mult): Use single_set to examine new insn. + 2001-01-07 Richard Henderson <rth@redhat.com> * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change. diff --git a/gcc/loop.c b/gcc/loop.c index 51ca938c736..ce522a03bfc 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -6904,9 +6904,12 @@ emit_iv_add_mult (b, m, a, reg, insert_before) record_base_value (REGNO (SET_DEST (set)), SET_SRC (set), 0); } } - else if (GET_CODE (seq) == SET - && GET_CODE (SET_DEST (seq)) == REG) - record_base_value (REGNO (SET_DEST (seq)), SET_SRC (seq), 0); + else + { + rtx set = single_set (seq); + if (set && GET_CODE (SET_DEST (set)) == REG) + record_base_value (REGNO (SET_DEST (set)), SET_SRC (set), 0); + } } /* Similar to emit_iv_add_mult, but compute cost rather than emitting |