Commit 892a4e60 by Richard Henderson Committed by Richard Henderson

ia64.c (spill_restore_mem): Mark iterator initialization as possibly dead.

        * config/ia64/ia64.c (spill_restore_mem): Mark iterator
        initialization as possibly dead.

From-SVN: r48030
parent 8610ba70
2001-12-14 Richard Henderson <rth@redhat.com> 2001-12-14 Richard Henderson <rth@redhat.com>
* config/ia64/ia64.c (spill_restore_mem): Mark iterator
initialization as possibly dead.
2001-12-14 Richard Henderson <rth@redhat.com>
* regrename.c (mode_change_ok): New. * regrename.c (mode_change_ok): New.
(find_oldest_value_reg): Use it. (find_oldest_value_reg): Use it.
......
...@@ -1771,7 +1771,7 @@ spill_restore_mem (reg, cfa_off) ...@@ -1771,7 +1771,7 @@ spill_restore_mem (reg, cfa_off)
} }
else else
{ {
rtx seq; rtx seq, insn;
if (disp == 0) if (disp == 0)
seq = gen_movdi (spill_fill_data.iter_reg[iter], seq = gen_movdi (spill_fill_data.iter_reg[iter],
...@@ -1797,17 +1797,26 @@ spill_restore_mem (reg, cfa_off) ...@@ -1797,17 +1797,26 @@ spill_restore_mem (reg, cfa_off)
/* Careful for being the first insn in a sequence. */ /* Careful for being the first insn in a sequence. */
if (spill_fill_data.init_after) if (spill_fill_data.init_after)
spill_fill_data.init_after insn = emit_insn_after (seq, spill_fill_data.init_after);
= emit_insn_after (seq, spill_fill_data.init_after);
else else
{ {
rtx first = get_insns (); rtx first = get_insns ();
if (first) if (first)
spill_fill_data.init_after insn = emit_insn_before (seq, first);
= emit_insn_before (seq, first);
else else
spill_fill_data.init_after = emit_insn (seq); insn = emit_insn (seq);
} }
spill_fill_data.init_after = insn;
/* If DISP is 0, we may or may not have a further adjustment
afterward. If we do, then the load/store insn may be modified
to be a post-modify. If we don't, then this copy may be
eliminated by copyprop_hardreg_forward, which makes this
insn garbage, which runs afoul of the sanity check in
propagate_one_insn. So mark this insn as legal to delete. */
if (disp == 0)
REG_NOTES(insn) = gen_rtx_EXPR_LIST (REG_MAYBE_DEAD, const0_rtx,
REG_NOTES (insn));
} }
mem = gen_rtx_MEM (GET_MODE (reg), spill_fill_data.iter_reg[iter]); mem = gen_rtx_MEM (GET_MODE (reg), spill_fill_data.iter_reg[iter]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment