OSDN Git Service

(find_splittable_givs): Set splittable_regs_updates to
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jun 1997 02:47:33 +0000 (02:47 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jun 1997 02:47:33 +0000 (02:47 +0000)
biv_count for reduced givs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14296 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/unroll.c

index 74e54bd..3f5c548 100644 (file)
@@ -2971,12 +2971,19 @@ find_splittable_givs (bl, unroll_type, loop_start, loop_end, increment,
 #endif
        }
       
-      /* Givs are only updated once by definition.  Mark it so if this is
+      /* Unreduced givs are only updated once by definition.  Reduced givs
+        are updated as many times as their biv is.  Mark it so if this is
         a splittable register.  Don't need to do anything for address givs
         where this may not be a register.  */
 
       if (GET_CODE (v->new_reg) == REG)
-       splittable_regs_updates[REGNO (v->new_reg)] = 1;
+       {
+         int count = 1;
+         if (! v->ignore)
+           count = reg_biv_class[REGNO (v->src_reg)]->biv_count;
+
+         splittable_regs_updates[REGNO (v->new_reg)] = count;
+       }
 
       result++;