alias.c (find_base_term): Move around LO_SUM case, so that CONST falls through into...
authorJakub Jelinek <jakub@redhat.com>
Wed, 22 Apr 2009 21:56:14 +0000 (23:56 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 22 Apr 2009 21:56:14 +0000 (23:56 +0200)
* alias.c (find_base_term): Move around LO_SUM case, so that
CONST falls through into PLUS/MINUS handling.

From-SVN: r146616

gcc/ChangeLog
gcc/alias.c

index 34f808119117f69cca59e338a2105602208fe560..90730541fe393ae0504e2f27bc1a036ce6ced466 100644 (file)
@@ -1,3 +1,8 @@
+2009-04-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * alias.c (find_base_term): Move around LO_SUM case, so that
+       CONST falls through into PLUS/MINUS handling.
+
 2009-04-23  Ben Elliston  <bje@au.ibm.com>
 
        * config/rs6000/linux-unwind.h (get_regs): Remove type
index 85db75569c81da54e3e70c3e39687226f3fbd8aa..acfd934a7cf8b0de5886bfc0be864461277322b6 100644 (file)
@@ -1474,15 +1474,16 @@ find_base_term (rtx x)
          return x;
       return 0;
 
+    case LO_SUM:
+      /* The standard form is (lo_sum reg sym) so look only at the
+         second operand.  */
+      return find_base_term (XEXP (x, 1));
+
     case CONST:
       x = XEXP (x, 0);
       if (GET_CODE (x) != PLUS && GET_CODE (x) != MINUS)
        return 0;
       /* Fall through.  */
-    case LO_SUM:
-      /* The standard form is (lo_sum reg sym) so look only at the
-         second operand.  */
-      return find_base_term (XEXP (x, 1));
     case PLUS:
     case MINUS:
       {