blob: 765d5bb7ff93b41b368b4c897b1c07c962cc7482 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
2000-08-21 Jakub Jelinek <jakub@redhat.com>
* unroll.c (loop_find_equiv_value): If ret is modified between
insn and loop_start, ret might not be equivalent to reg.
--- gcc/unroll.c.jj Fri Aug 18 23:44:09 2000
+++ gcc/unroll.c Mon Aug 21 17:28:09 2000
@@ -3550,6 +3550,11 @@ loop_find_equiv_value (loop, reg)
ret = XEXP (note, 0);
else
ret = SET_SRC (set);
+
+ /* We cannot do this if it changes between the
+ assignment and loop start though. */
+ if (modified_between_p (ret, insn, loop_start))
+ ret = reg;
}
break;
}
|