re PR target/31850 (gcc.c-torture/compile/limits-fnargs.c is slow at compiling for...
authorSteve Ellcey <sje@cup.hp.com>
Thu, 17 May 2007 20:29:34 +0000 (20:29 +0000)
committerSteve Ellcey <sje@gcc.gnu.org>
Thu, 17 May 2007 20:29:34 +0000 (20:29 +0000)
PR target/31850
* reload.c (subst_reloads): Remove checking.

From-SVN: r124810

gcc/ChangeLog
gcc/reload.c

index 82861049ba554b781df32e6b89122ecc9cc1124f..301d7184ceb8b726ca4b1d5f045bc8b263cc26ec 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-17  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/31850
+       * reload.c (subst_reloads): Remove checking.
+
 2007-05-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        PR rtl-optimization/31691
index bf220ef6bc097c6dfa6cd8c6e366923a26ec223f..243b65bd709a30efd46978c97250f56ac3f1c627 100644 (file)
@@ -88,6 +88,9 @@ a register with any other reload.  */
 
 #define REG_OK_STRICT
 
+/* We do not enable this with ENABLE_CHECKING, since it is awfully slow.  */
+#undef DEBUG_RELOAD
+
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
@@ -6102,8 +6105,12 @@ subst_reloads (rtx insn)
       rtx reloadreg = rld[r->what].reg_rtx;
       if (reloadreg)
        {
-#ifdef ENABLE_CHECKING
-         /* Internal consistency test.  Check that we don't modify
+#ifdef DEBUG_RELOAD
+         /* This checking takes a very long time on some platforms
+            causing the gcc.c-torture/compile/limits-fnargs.c test
+            to time out during testing.  See PR 31850.
+
+            Internal consistency test.  Check that we don't modify
             anything in the equivalence arrays.  Whenever something from
             those arrays needs to be reloaded, it must be unshared before
             being substituted into; the equivalence must not be modified.
@@ -6125,7 +6132,7 @@ subst_reloads (rtx insn)
              CHECK_MODF (reg_equiv_mem);
 #undef CHECK_MODF
            }
-#endif /* ENABLE_CHECKING */
+#endif /* DEBUG_RELOAD */
 
          /* If we're replacing a LABEL_REF with a register, add a
             REG_LABEL note to indicate to flow which label this