From f47f2c17db22e355a48c7aa99ff3ce4529f24b80 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 26 Jun 1995 19:17:37 -0400 Subject: [PATCH] (find_splittable_regs): When completely unrolling loop, check for non-invariant initial biv values. From-SVN: r10056 --- gcc/unroll.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gcc/unroll.c b/gcc/unroll.c index 0d6e6930234..76543d9f11b 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -2397,12 +2397,13 @@ find_splittable_regs (unroll_type, loop_start, loop_end, end_insert_before, { /* If the initial value of the biv is itself (i.e. it is too complicated for strength_reduce to compute), or is a hard - register, then we must create a new pseudo reg to hold the - initial value of the biv. */ + register, or it isn't invariant, then we must create a new + pseudo reg to hold the initial value of the biv. */ if (GET_CODE (bl->initial_value) == REG && (REGNO (bl->initial_value) == bl->regno - || REGNO (bl->initial_value) < FIRST_PSEUDO_REGISTER)) + || REGNO (bl->initial_value) < FIRST_PSEUDO_REGISTER + || ! invariant_p (bl->initial_value))) { rtx tem = gen_reg_rtx (bl->biv->mode); -- 2.30.2