summaryrefslogtreecommitdiff
path: root/gcc/unroll.c
diff options
context:
space:
mode:
authorgrahams <grahams@138bc75d-0d04-0410-961f-82ee72b054a4>2002-02-27 15:01:10 +0000
committergrahams <grahams@138bc75d-0d04-0410-961f-82ee72b054a4>2002-02-27 15:01:10 +0000
commit3a64bedc6989f4f69b35f0110da3b7a5aa109409 (patch)
tree7ed483297ee6b822dfdfa7fc51773ad97b0b8418 /gcc/unroll.c
parent0d8434b00fceadc4d3a311d792153ddbf5ee5882 (diff)
downloadgcc-3a64bedc6989f4f69b35f0110da3b7a5aa109409.tar.gz
* unroll.c (loop_iterations): Return 0 if the add_val for
a BIV is REG. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50100 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/unroll.c')
-rw-r--r--gcc/unroll.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/unroll.c b/gcc/unroll.c
index 9a0cfcf6871..2b941470ecd 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -3744,7 +3744,18 @@ loop_iterations (loop)
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)