Patch for loop unroll bug

GrahamS grahams@rcp.co.uk
Sun May 9 09:12:00 GMT 1999


Hi

There's a typo in my patch.  The variable "max_regno_before_loop" 
should be "max_reg_before_loop"

Here's a corrected patch and ChangeLog entry against
the egcs-19990502 snapshot.

Graham

ChangeLog

        * loop.c maybe_eliminate_biv(): check regno against
        max_reg_before_loop to correct a --enable-checking
        failure when compiling gcc/f/target.c


*** loop.c.orig Sat May  8 19:47:00 1999
--- loop.c      Sat May  8 19:48:22 1999
*************** maybe_eliminate_biv (bl, loop_start, end
*** 8131,8137 ****
                {
                  int regno = REGNO (SET_DEST (set));
  
!                 if (REG_IV_TYPE (regno) == GENERAL_INDUCT
                      && REG_IV_INFO (regno)->src_reg ==
bl->biv->src_reg)
                    p = last;
                }
--- 8131,8138 ----
                {
                  int regno = REGNO (SET_DEST (set));
  
!                 if (regno < max_reg_before_loop
!                     && REG_IV_TYPE (regno) == GENERAL_INDUCT
                      && REG_IV_INFO (regno)->src_reg ==
bl->biv->src_reg)
                    p = last;
                }


More information about the Gcc-patches mailing list