* loop.c (recombine_givs): Don't try to derive givs that have combined.
authorJ"orn Rennecke <amylaar@cygnus.co.uk>
Fri, 29 Jan 1999 14:36:59 +0000 (14:36 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Fri, 29 Jan 1999 14:36:59 +0000 (14:36 +0000)
From-SVN: r24906

gcc/ChangeLog
gcc/loop.c

index 3e9552c62495ad17cfcc062aa8bd18620ad1517a..476d746a9346306e039335e923bee7172b74a407 100644 (file)
@@ -1,3 +1,7 @@
+Fri Jan 29 22:34:41 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * loop.c (recombine_givs): Don't try to derive givs that have combined.
+
 Fri Jan 29 15:00:39 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * toplev.c (notice, fnotice): Check ANSI_PROTOTYPES, not __STDC__,
index 11728f086631d2383fd7fe73b489fcddb4852493..b0e7e87c923352371dd3497c16642412bb1d3c7e 100644 (file)
@@ -7272,16 +7272,13 @@ recombine_givs (bl, loop_start, loop_end, unroll_p)
          rtx sum;
 
          v = giv_array[stats[i].giv_number];
-         if (v->giv_type != DEST_REG || v->derived)
+         if (v->giv_type != DEST_REG || v->derived || v->same)
            continue;
          if (! last_giv)
            {
-             if (! v->same)
-               {
-                 last_giv = v;
-                 life_start = stats[i].start_luid;
-                 life_end = stats[i].end_luid;
-               }
+             last_giv = v;
+             life_start = stats[i].start_luid;
+             life_end = stats[i].end_luid;
              continue;
            }
          /* Use unsigned arithmetic to model loop wrap around.  */