summaryrefslogtreecommitdiffstats
path: root/gcc/reload.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-08-29 00:44:21 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-08-29 00:44:21 +0000
commitf3653a6424c77c01335e9e8aa3c63d4a62f1f7dc (patch)
treed7a7f8b66cdb1d768634a359009e273bb3b645dd /gcc/reload.c
parent19f716e5141690248d566ab28cc6d03049d28b46 (diff)
downloadppe42-gcc-f3653a6424c77c01335e9e8aa3c63d4a62f1f7dc.tar.gz
ppe42-gcc-f3653a6424c77c01335e9e8aa3c63d4a62f1f7dc.zip
* local-alloc.c (requires_inout): Don't use reserved range for
EXTRA_CONSTRAINTS; use anything not matched by REG_CLASS_FROM_LETTER. * recog.c (asm_operand_ok): Likewise. (preprocess_constraints, constrain_operands): Likewise. * regclass.c (record_reg_classes): Likewise. * reload.c (find_reloads): Likewise. * reload1.c (maybe_fix_stack_asms): Likewise. (reload_cse_simplify_operands): Likewise. * stmt.c (expand_asm_operands): Likewise. * md.texi: Update constraints documentation. * tm.texi (EXTRA_CONSTRAINT): Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36023 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload.c')
-rw-r--r--gcc/reload.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/gcc/reload.c b/gcc/reload.c
index 4dd36f02ae9..e2eccf6b109 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -3142,21 +3142,18 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
= (int) reg_class_subunion[this_alternative[i]][(int) GENERAL_REGS];
goto reg;
+ default:
+ if (REG_CLASS_FROM_LETTER (c) == NO_REGS)
+ {
#ifdef EXTRA_CONSTRAINT
- case 'Q':
- case 'R':
- case 'S':
- case 'T':
- case 'U':
- if (EXTRA_CONSTRAINT (operand, c))
- win = 1;
- break;
+ if (EXTRA_CONSTRAINT (operand, c))
+ win = 1;
#endif
+ break;
+ }
- default:
this_alternative[i]
= (int) reg_class_subunion[this_alternative[i]][(int) REG_CLASS_FROM_LETTER (c)];
-
reg:
if (GET_MODE (operand) == BLKmode)
break;
OpenPOWER on IntegriCloud