summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/reload.c13
2 files changed, 15 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 82861049ba5..301d7184ceb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/reload.c b/gcc/reload.c
index bf220ef6bc0..243b65bd709 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -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