aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-09-02 21:21:19 +0000
committerRichard Stallman <rms@gnu.org>1992-09-02 21:21:19 +0000
commitc07c29b98c3406fa3ff6c924b8400346a49732d3 (patch)
treea74631899825459c885c0d132c1bb548d722e3a8 /gcc
parent301a5c0b57e24135dd231d36de93f2b8121ec987 (diff)
downloadgcc-c07c29b98c3406fa3ff6c924b8400346a49732d3.zip
gcc-c07c29b98c3406fa3ff6c924b8400346a49732d3.tar.gz
gcc-c07c29b98c3406fa3ff6c924b8400346a49732d3.tar.bz2
(find_reloads): If have any earlyclobbers, don't let any reloads overlap with them.
(find_reloads): If have any earlyclobbers, don't let any reloads overlap with them. Make everything RELOAD_OTHER. From-SVN: r2037
Diffstat (limited to 'gcc')
-rw-r--r--gcc/reload.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/reload.c b/gcc/reload.c
index 3809423..c5f4343 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -3276,6 +3276,13 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
if (output_address && reload_when_needed[i] == RELOAD_OTHER)
reload_needed_for_multiple[i] = 1;
+
+ /* If we have earlyclobbers, make sure nothing overlaps them. */
+ if (n_earlyclobbers > 0)
+ {
+ reload_when_needed[i] = RELOAD_OTHER;
+ reload_needed_for_multiple[i] = 1;
+ }
}
}