aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload.c
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@cygnus.co.uk>1999-10-26 13:45:31 +0000
committerBernd Schmidt <crux@gcc.gnu.org>1999-10-26 13:45:31 +0000
commit67e61fe7f39ac4eaeadf7bd5273e0ea128eceff3 (patch)
tree9a8d29cde52555b6c55f9c36702c2bb7ae5a8ff9 /gcc/reload.c
parent35f86a5003f8b9d53a201fcc7ba29de360d2a772 (diff)
downloadgcc-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.c12
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;
}