* loop.c (combine_givs_p): Fix test for identical givs.
authorBernd Schmidt <crux@pool.informatik.rwth-aachen.de>
Mon, 5 Oct 1998 20:20:39 +0000 (14:20 -0600)
committerJeff Law <law@gcc.gnu.org>
Mon, 5 Oct 1998 20:20:39 +0000 (14:20 -0600)
From-SVN: r22845

gcc/ChangeLog
gcc/loop.c

index df4c791a8b6c3daaf8d028caf55256a2a21b5d7d..f42f2f97c00a934da478882febe2062d81d6f29c 100644 (file)
@@ -1,3 +1,7 @@
+Mon Oct  5 21:18:45 1998  Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
+
+       * loop.c (combine_givs_p): Fix test for identical givs.
+
 Mon Oct  5 10:11:28 1998  Nick Clifton  <nickc@cygnus.com>
 
        * dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't
index f8e4d8d06b9ab56ccc2d00380151560b6a2ae635..97744573c60f570e888914c185f825d35e4c8fa5 100644 (file)
@@ -6299,10 +6299,10 @@ express_from (g1, g2)
     return gen_rtx_PLUS (g2->mode, mult, add);
 }
 \f
-/* Return 1 if giv G2 can be combined with G1.  This means that G2 can use
-   (either directly or via an address expression) a register used to represent
-   G1.  Set g2->new_reg to a represtation of G1 (normally just
-   g1->dest_reg).  */
+/* Return an rtx, if any, that expresses giv G2 as a function of the register
+   represented by G1.  This indicates that G2 should be combined with G1 and
+   that G2 can use (either directly or via an address expression) a register
+   used to represent G1.  */
 
 static rtx
 combine_givs_p (g1, g2)
@@ -6313,7 +6313,7 @@ combine_givs_p (g1, g2)
   /* If these givs are identical, they can be combined.  We use the results
      of express_from because the addends are not in a canonical form, so
      rtx_equal_p is a weaker test.  */
-  if (tem == const0_rtx)
+  if (tem == g1->dest_reg)
     {
       return g1->dest_reg;
     }