diff options
author | Bernd Schmidt <bernds@cygnus.co.uk> | 1999-10-26 13:45:31 +0000 |
---|---|---|
committer | Bernd Schmidt <crux@gcc.gnu.org> | 1999-10-26 13:45:31 +0000 |
commit | 67e61fe7f39ac4eaeadf7bd5273e0ea128eceff3 (patch) | |
tree | 9a8d29cde52555b6c55f9c36702c2bb7ae5a8ff9 /gcc/reload.c | |
parent | 35f86a5003f8b9d53a201fcc7ba29de360d2a772 (diff) | |
download | gcc-67e61fe7f39ac4eaeadf7bd5273e0ea128eceff3.zip gcc-67e61fe7f39ac4eaeadf7bd5273e0ea128eceff3.tar.gz gcc-67e61fe7f39ac4eaeadf7bd5273e0ea128eceff3.tar.bz2 |
Small reload cleanups
From-SVN: r30193
Diffstat (limited to 'gcc/reload.c')
-rw-r--r-- | gcc/reload.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index 011d0a9..bd32ba3 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -4174,6 +4174,18 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) } } + /* Compute reload_mode and reload_nregs. */ + for (i = 0; i < n_reloads; i++) + { + rld[i].mode + = (rld[i].inmode == VOIDmode + || (GET_MODE_SIZE (rld[i].outmode) + > GET_MODE_SIZE (rld[i].inmode))) + ? rld[i].outmode : rld[i].inmode; + + rld[i].nregs = CLASS_MAX_NREGS (rld[i].class, rld[i].mode); + } + return retval; } |