diff options
author | Richard Stallman <rms@gnu.org> | 1993-01-07 05:42:33 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-01-07 05:42:33 +0000 |
commit | 9e859f7e007dc30e6aa2ccd3fd595fae6ae4a3a2 (patch) | |
tree | 32cf0a83658fa4cedf5cddbf12d9a7cf9ee587e7 | |
parent | 8bfd2094728eeef59530505d5b3c8ff48587c56f (diff) | |
download | gcc-9e859f7e007dc30e6aa2ccd3fd595fae6ae4a3a2.zip gcc-9e859f7e007dc30e6aa2ccd3fd595fae6ae4a3a2.tar.gz gcc-9e859f7e007dc30e6aa2ccd3fd595fae6ae4a3a2.tar.bz2 |
(reload) [SMALL_REGISTER_CLASSES]: When adding an extra need if the insn uses the function value return register...
(reload) [SMALL_REGISTER_CLASSES]: When adding an extra
need if the insn uses the function value return register,
likewise add an extra single-reg need for each class in which
the insn needs a group.
From-SVN: r3141
-rw-r--r-- | gcc/reload1.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 12ca8a1..1cc8d78 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -1299,14 +1299,12 @@ reload (first, global, dumpfile) for (i = 0; i < N_REG_CLASSES; i++) if (TEST_HARD_REG_BIT (reg_class_contents[i], r)) { - if (insn_needs[i] > 0) + /* ??? It's not clear what is really + right to do if this insn needs a group. + But maybe that cannot happen. */ + if (insn_needs[i] > 0 || insn_groups[i] > 0) insn_needs[i]++; - if (insn_groups[i] > 0 - && nregs > 1) - inc_groups = 1; } - if (inc_groups) - insn_groups[i]++; } #endif /* SMALL_REGISTER_CLASSES */ |