diff options
| author | grahams <grahams@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-02-27 15:01:10 +0000 |
|---|---|---|
| committer | grahams <grahams@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-02-27 15:01:10 +0000 |
| commit | 3a64bedc6989f4f69b35f0110da3b7a5aa109409 (patch) | |
| tree | 7ed483297ee6b822dfdfa7fc51773ad97b0b8418 | |
| parent | 0d8434b00fceadc4d3a311d792153ddbf5ee5882 (diff) | |
| download | ppe42-gcc-3a64bedc6989f4f69b35f0110da3b7a5aa109409.tar.gz ppe42-gcc-3a64bedc6989f4f69b35f0110da3b7a5aa109409.zip | |
* 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
| -rw-r--r-- | gcc/ChangeLog | 3 | ||||
| -rw-r--r-- | gcc/unroll.c | 13 |
2 files changed, 15 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 025b4e86304..062716db492 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 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. 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) |

