summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorm.hayes <m.hayes@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-07 09:59:09 +0000
committerm.hayes <m.hayes@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-07 09:59:09 +0000
commit15dfdac8ffacf9fc16c845df076053f40d98e491 (patch)
treee21b5f81bfa8ab46674cee071be9be319f47bf83
parent01c9a77acfa786990f500ece9d636bc3455f3385 (diff)
downloadgcc-15dfdac8ffacf9fc16c845df076053f40d98e491.tar.gz
* loop.c (emit_iv_add_mult): Use single_set to examine new insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38764 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/loop.c9
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