]> gcc.gnu.org Git - gcc.git/commitdiff
*** empty log message ***
authorRichard Kenner <kenner@gcc.gnu.org>
Thu, 25 Jun 1992 10:13:31 +0000 (06:13 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Thu, 25 Jun 1992 10:13:31 +0000 (06:13 -0400)
From-SVN: r1281

gcc/explow.c

index c0d69720d1a9183b215b5172c6b44e13a9465e97..587bde64821b21a13176ac8d469fd9c30d82f4e3 100644 (file)
@@ -99,17 +99,13 @@ plus_constant (x, c)
         Look for constant term in the sum and combine
         with C.  For an integer constant term, we make a combined
         integer.  For a constant term that is not an explicit integer,
-        we cannot really combine, but group them together anyway.  */
-      if (GET_CODE (XEXP (x, 0)) == CONST_INT)
-       {
-         c += INTVAL (XEXP (x, 0));
-         x = XEXP (x, 1);
-       }
-      else if (GET_CODE (XEXP (x, 1)) == CONST_INT)
-       {
-         c += INTVAL (XEXP (x, 1));
-         x = XEXP (x, 0);
-       }
+        we cannot really combine, but group them together anyway.  
+
+        Use a recursive call in case the remaining operand is something
+        that we handle specially, such as a SYMBOL_REF.  */
+
+      if (GET_CODE (XEXP (x, 1)) == CONST_INT)
+       return plus_constant (XEXP (x, 0), c + INTVAL (XEXP (x, 1)));
       else if (CONSTANT_P (XEXP (x, 0)))
        return gen_rtx (PLUS, mode,
                        plus_constant (XEXP (x, 0), c),
@@ -131,7 +127,7 @@ plus_constant (x, c)
     return x;
 }
 
-/* This is the same a `plus_constant', except that it handles LO_SUM.  */
+/* This is the same as `plus_constant', except that it handles LO_SUM.  */
 
 rtx
 plus_constant_for_output (x, c)
This page took 0.063817 seconds and 5 git commands to generate.