aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-08-29 14:18:01 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-08-29 14:18:01 -0700
commit94aaab7af9eee21fd6ee757b0840f9b06b64de11 (patch)
tree62728c3e8ff808f8006bcd0cb3f3eae741951836 /gcc
parent4381f7c29941a637a6fdce1b2f8a1cb9df586b71 (diff)
downloadgcc-94aaab7af9eee21fd6ee757b0840f9b06b64de11.zip
gcc-94aaab7af9eee21fd6ee757b0840f9b06b64de11.tar.gz
gcc-94aaab7af9eee21fd6ee757b0840f9b06b64de11.tar.bz2
reload.c (push_secondary_reload): Allow class == reload_class if we're using a reload_in/out pattern.
* reload.c (push_secondary_reload): Allow class == reload_class if we're using a reload_in/out pattern. From-SVN: r36052
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/reload.c8
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f0d1b05..efd94d8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-08-29 Richard Henderson <rth@cygnus.com>
+
+ * reload.c (push_secondary_reload): Allow class == reload_class
+ if we're using a reload_in/out pattern.
+
2000-08-29 Kazu Hirata <kazu@hxi.com>
* reload.c: Fix formatting.
diff --git a/gcc/reload.c b/gcc/reload.c
index c82b66a..ee2fa48 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -411,11 +411,11 @@ push_secondary_reload (in_p, x, opnum, optional, reload_class, reload_mode,
can not use secondary reloads, you must work around the problem some
other way.
- Allow this when MODE is not reload_mode and assume that the generated
- code handles this case (it does on the Alpha, which is the only place
- this currently happens). */
+ Allow this when a reload_in/out pattern is being used. I.e. assume
+ that the generated code handles this case. */
- if (in_p && class == reload_class && mode == reload_mode)
+ if (in_p && class == reload_class && icode == CODE_FOR_nothing
+ && t_icode == CODE_FOR_nothing)
abort ();
/* If we need a tertiary reload, see if we have one we can reuse or else