From 80c2681c0aa9298df4ad2f5ff580ec82f1b74534 Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Thu, 27 Nov 1997 19:24:06 +0000 Subject: [PATCH] unroll.c (find_splittable_givs): Don't split givs with a dest_reg that was created by loop. * unroll.c (find_splittable_givs): Don't split givs with a dest_reg that was created by loop. From-SVN: r16803 --- gcc/ChangeLog | 5 +++++ gcc/unroll.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1920597e6ba..da980375695 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com) + + * unroll.c (find_splittable_givs): Don't split givs with a dest_reg + that was created by loop. + Wed Nov 26 15:47:30 1997 Michael Meissner * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs. diff --git a/gcc/unroll.c b/gcc/unroll.c index 10dfb8a9277..29f01b8c213 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -2668,6 +2668,12 @@ find_splittable_givs (bl, unroll_type, loop_start, loop_end, increment, { rtx giv_inc, value; + + /* If this is a new register, can't handle it since it does not have + an entry in reg_n_info. */ + if (REGNO (v->dest_reg) >= max_reg_before_loop) + continue; + /* Only split the giv if it has already been reduced, or if the loop is being completely unrolled. */ if (unroll_type != UNROLL_COMPLETELY && v->ignore)