aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-08-08 19:36:17 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-08-08 19:36:17 -0400
commit73b2ad9e646a0fd610eaad04faca02f8b34eb143 (patch)
treee128c6ff662e5b4872467c29cbd2587ae315cc63 /gcc
parentbeb5a9b86e2cae18089a05b77b818e6649ccc770 (diff)
downloadgcc-73b2ad9e646a0fd610eaad04faca02f8b34eb143.zip
gcc-73b2ad9e646a0fd610eaad04faca02f8b34eb143.tar.gz
gcc-73b2ad9e646a0fd610eaad04faca02f8b34eb143.tar.bz2
(emit_reload_insns): Always clear new_spill_reg_store.
From-SVN: r7876
Diffstat (limited to 'gcc')
-rw-r--r--gcc/reload1.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 9223c21..1ae4116 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -5638,7 +5638,9 @@ emit_reload_insns (insn)
{
register rtx old;
rtx oldequiv_reg = 0;
- rtx store_insn = 0;
+
+ if (reload_spill_index[j] >= 0)
+ new_spill_reg_store[reload_spill_index[j]] = 0;
old = reload_in[j];
if (old != 0 && ! reload_inherited[j]
@@ -6418,17 +6420,14 @@ emit_reload_insns (insn)
reg_has_output_reload will make this do nothing. */
note_stores (PATTERN (p), forget_old_reloads_1);
- if (reg_mentioned_p (reload_reg_rtx[j], PATTERN (p)))
- store_insn = p;
+ if (reg_mentioned_p (reload_reg_rtx[j], PATTERN (p))
+ && reload_spill_index[j] >= 0)
+ new_spill_reg_store[reload_spill_index[j]] = p;
}
output_reload_insns[reload_opnum[j]] = get_insns ();
end_sequence ();
-
}
-
- if (reload_spill_index[j] >= 0)
- new_spill_reg_store[reload_spill_index[j]] = store_insn;
}
/* Now write all the insns we made for reloads in the order expected by