]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR rtl-optimization/17810 target/15342
authorRichard Earnshaw <rearnsha@arm.com>
Thu, 1 Sep 2005 14:54:20 +0000 (14:54 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Thu, 1 Sep 2005 14:54:20 +0000 (14:54 +0000)
PR rtl-optimization/17810 target/15342
* regrename.c: Fix polluted patch in previous change.

From-SVN: r103731

gcc/ChangeLog
gcc/regrename.c

index 452860d77d28b88203bf9637e22dd5b56f03f951..f4cc5d6fceb7a15a39e230676c2c994f5a9e8520 100644 (file)
@@ -1,3 +1,8 @@
+2005-09-01  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       PR rtl-optimization/17810 target/15342
+       * regrename.c: Fix polluted patch in previous change.
+
 2005-09-01  Richard Earnshaw  <richard.earnshaw@arm.com>
 
        PR rtl-optimization/17810
index bf3940a73f8fa34089b0f56741c435179134669c..1183f44a03e16fa3171affe95213b8f07a8e55a3 100644 (file)
 #include "toplev.h"
 #include "obstack.h"
 
+#ifndef REG_MODE_OK_FOR_BASE_P
+#define REG_MODE_OK_FOR_BASE_P(REGNO, MODE) REG_OK_FOR_BASE_P (REGNO)
+#endif
+
 static const char *const reg_class_names[] = REG_CLASS_NAMES;
 
 struct du_chain
@@ -528,7 +532,6 @@ scan_rtx_address (rtx insn, rtx *loc, enum reg_class class,
        rtx op1 = orig_op1;
        rtx *locI = NULL;
        rtx *locB = NULL;
-       rtx *locB_reg = NULL;
 
        if (GET_CODE (op0) == SUBREG)
          {
@@ -565,14 +568,14 @@ scan_rtx_address (rtx insn, rtx *loc, enum reg_class class,
            int index_op;
 
            if (REG_OK_FOR_INDEX_P (op0)
-               && REG_MODE_OK_FOR_REG_BASE_P (op1, mode))
+               && REG_MODE_OK_FOR_BASE_P (op1, mode))
              index_op = 0;
            else if (REG_OK_FOR_INDEX_P (op1)
-                    && REG_MODE_OK_FOR_REG_BASE_P (op0, mode))
+                    && REG_MODE_OK_FOR_BASE_P (op0, mode))
              index_op = 1;
-           else if (REG_MODE_OK_FOR_REG_BASE_P (op1, mode))
+           else if (REG_MODE_OK_FOR_BASE_P (op1, mode))
              index_op = 0;
-           else if (REG_MODE_OK_FOR_REG_BASE_P (op0, mode))
+           else if (REG_MODE_OK_FOR_BASE_P (op0, mode))
              index_op = 1;
            else if (REG_OK_FOR_INDEX_P (op1))
              index_op = 1;
@@ -580,7 +583,7 @@ scan_rtx_address (rtx insn, rtx *loc, enum reg_class class,
              index_op = 0;
 
            locI = &XEXP (x, index_op);
-           locB_reg = &XEXP (x, !index_op);
+           locB = &XEXP (x, !index_op);
          }
        else if (code0 == REG)
          {
@@ -597,9 +600,6 @@ scan_rtx_address (rtx insn, rtx *loc, enum reg_class class,
          scan_rtx_address (insn, locI, INDEX_REG_CLASS, action, mode);
        if (locB)
          scan_rtx_address (insn, locB, MODE_BASE_REG_CLASS (mode), action, mode);
-       if (locB_reg)
-         scan_rtx_address (insn, locB_reg, MODE_BASE_REG_REG_CLASS (mode),
-                           action, mode);
        return;
       }
 
@@ -1410,7 +1410,6 @@ replace_oldest_value_addr (rtx *loc, enum reg_class class,
        rtx op1 = orig_op1;
        rtx *locI = NULL;
        rtx *locB = NULL;
-       rtx *locB_reg = NULL;
 
        if (GET_CODE (op0) == SUBREG)
          {
@@ -1447,14 +1446,14 @@ replace_oldest_value_addr (rtx *loc, enum reg_class class,
            int index_op;
 
            if (REG_OK_FOR_INDEX_P (op0)
-               && REG_MODE_OK_FOR_REG_BASE_P (op1, mode))
+               && REG_MODE_OK_FOR_BASE_P (op1, mode))
              index_op = 0;
            else if (REG_OK_FOR_INDEX_P (op1)
-                    && REG_MODE_OK_FOR_REG_BASE_P (op0, mode))
+                    && REG_MODE_OK_FOR_BASE_P (op0, mode))
              index_op = 1;
-           else if (REG_MODE_OK_FOR_REG_BASE_P (op1, mode))
+           else if (REG_MODE_OK_FOR_BASE_P (op1, mode))
              index_op = 0;
-           else if (REG_MODE_OK_FOR_REG_BASE_P (op0, mode))
+           else if (REG_MODE_OK_FOR_BASE_P (op0, mode))
              index_op = 1;
            else if (REG_OK_FOR_INDEX_P (op1))
              index_op = 1;
@@ -1462,7 +1461,7 @@ replace_oldest_value_addr (rtx *loc, enum reg_class class,
              index_op = 0;
 
            locI = &XEXP (x, index_op);
-           locB_reg = &XEXP (x, !index_op);
+           locB = &XEXP (x, !index_op);
          }
        else if (code0 == REG)
          {
@@ -1482,10 +1481,6 @@ replace_oldest_value_addr (rtx *loc, enum reg_class class,
          changed |= replace_oldest_value_addr (locB,
                                                MODE_BASE_REG_CLASS (mode),
                                                mode, insn, vd);
-       if (locB_reg)
-         changed |= replace_oldest_value_addr (locB_reg,
-                                               MODE_BASE_REG_REG_CLASS (mode),
-                                               mode, insn, vd);
        return changed;
       }