Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
+ * unroll.c (calculate_giv_inc): Handle constant increment found in
+ a MEM with an appropriate REG_EQUAL note.
+
* calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
* dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
one of the LO_SUM rtx. */
if (GET_CODE (increment) == LO_SUM)
increment = XEXP (increment, 1);
+
+ /* Some ports store large constants in memory and add a REG_EQUAL
+ note to the store insn. */
+ else if (GET_CODE (increment) == MEM)
+ {
+ rtx note = find_reg_note (src_insn, REG_EQUAL, 0);
+ if (note)
+ increment = XEXP (note, 0);
+ }
+
else if (GET_CODE (increment) == IOR
|| GET_CODE (increment) == ASHIFT
|| GET_CODE (increment) == PLUS)