diff options
author | Richard Henderson <rth@cygnus.com> | 2000-08-28 17:44:21 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-08-28 17:44:21 -0700 |
commit | c2cba7a96e04069011ae508e3027bbf128208040 (patch) | |
tree | d7a7f8b66cdb1d768634a359009e273bb3b645dd /gcc/local-alloc.c | |
parent | 881c6935bf565020e7955fede0b186232aa30bc7 (diff) | |
download | gcc-c2cba7a96e04069011ae508e3027bbf128208040.zip gcc-c2cba7a96e04069011ae508e3027bbf128208040.tar.gz gcc-c2cba7a96e04069011ae508e3027bbf128208040.tar.bz2 |
local-alloc.c (requires_inout): Don't use reserved range for EXTRA_CONSTRAINTS...
* 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.
From-SVN: r36023
Diffstat (limited to 'gcc/local-alloc.c')
-rw-r--r-- | gcc/local-alloc.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c index f1ac07c..7e57c82 100644 --- a/gcc/local-alloc.c +++ b/gcc/local-alloc.c @@ -2210,9 +2210,6 @@ requires_inout (p) case 's': case 'i': case 'n': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': -#ifdef EXTRA_CONSTRAINT - case 'Q': case 'R': case 'S': case 'T': case 'U': -#endif case 'X': /* These don't say anything we care about. */ break; @@ -2228,9 +2225,12 @@ requires_inout (p) found_zero = 1; break; + default: + if (REG_CLASS_FROM_LETTER (c) == NO_REGS) + break; + /* FALLTHRU */ case 'p': case 'g': case 'r': - default: reg_allowed = 1; break; } |