aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-01-07 05:42:33 +0000
committerRichard Stallman <rms@gnu.org>1993-01-07 05:42:33 +0000
commit9e859f7e007dc30e6aa2ccd3fd595fae6ae4a3a2 (patch)
tree32cf0a83658fa4cedf5cddbf12d9a7cf9ee587e7 /gcc
parent8bfd2094728eeef59530505d5b3c8ff48587c56f (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/reload1.c10
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 */