a BIV is REG.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50100
138bc75d-0d04-0410-961f-
82ee72b054a4
2002-02-27 Graham Stott <grahams@redhat.com>
+ * unroll.c (loop_iterations): Return 0 if the add_val for
+ a BIV is REG.
+
* final.c (output_operand_lossage): Constify PFX_STR.
* df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
for (biv_inc = bl->biv; biv_inc; biv_inc = biv_inc->next_iv)
{
if (loop_insn_first_p (v->insn, biv_inc->insn))
- offset -= INTVAL (biv_inc->add_val);
+ {
+ if (REG_P (biv_inc->add_val))
+ {
+ if (loop_dump_stream)
+ fprintf (loop_dump_stream,
+ "Loop iterations: Basic induction var add_val is REG %d.\n",
+ REGNO (biv_inc->add_val));
+ return 0;
+ }
+
+ offset -= INTVAL (biv_inc->add_val);
+ }
}
}
if (loop_dump_stream)