diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-08-08 19:36:17 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-08-08 19:36:17 -0400 |
commit | 73b2ad9e646a0fd610eaad04faca02f8b34eb143 (patch) | |
tree | e128c6ff662e5b4872467c29cbd2587ae315cc63 /gcc | |
parent | beb5a9b86e2cae18089a05b77b818e6649ccc770 (diff) | |
download | gcc-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.c | 13 |
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 |