summaryrefslogtreecommitdiff
path: root/gcc/reload.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-08-29 21:18:01 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-08-29 21:18:01 +0000
commitd428a20f360c72c397559826f7f24090e9bcea11 (patch)
tree62728c3e8ff808f8006bcd0cb3f3eae741951836 /gcc/reload.c
parent67610d42368ea11c3238c4f932eecb081737427a (diff)
downloadgcc-d428a20f360c72c397559826f7f24090e9bcea11.tar.gz
* reload.c (push_secondary_reload): Allow class == reload_class
if we're using a reload_in/out pattern. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36052 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload.c')
-rw-r--r--gcc/reload.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/reload.c b/gcc/reload.c
index c82b66a597a..ee2fa4884d2 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