diff options
author | Richard Stallman <rms@gnu.org> | 1993-05-24 07:49:54 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-05-24 07:49:54 +0000 |
commit | 8908158db387544f2bf19409617455766be8511f (patch) | |
tree | 0e543a7f36b0a2f5ac7f0de5fd9487b7c4f5d86b | |
parent | 19808e22caa8929ed61043340b832b5c51d4012a (diff) | |
download | gcc-8908158db387544f2bf19409617455766be8511f.zip gcc-8908158db387544f2bf19409617455766be8511f.tar.gz gcc-8908158db387544f2bf19409617455766be8511f.tar.bz2 |
(choose_reload_regs): If inheriting a spill reg,
and reload_out has a wider mode, just copy from that spill reg,
don't use it for the reload.
From-SVN: r4555
-rw-r--r-- | gcc/reload1.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index d528807..d6c361d 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -4835,7 +4835,11 @@ choose_reload_regs (insn, avoid_return_reg) reload_earlyclobbers[i1])) break; - if (i1 != n_earlyclobbers) + if (i1 != n_earlyclobbers + /* Don't really use the inherited spill reg + if we need it wider than we've got it. */ + || (GET_MODE_SIZE (reload_mode[r]) + > GET_MODE_SIZE (mode))) reload_override_in[r] = reg_last_reload_reg[regno]; else { |