Commit d98a8d38 by Richard Henderson Committed by Richard Henderson

conflict.c (conflict_graph_compute): Don't look for REG_INC.

        * conflict.c (conflict_graph_compute): Don't look for REG_INC.

        * config/ia64/ia64.c (ia64_setup_incoming_varargs): Don't emit
        auto-inc code.

From-SVN: r34557
parent f6a0cc96
2000-06-14 Richard Henderson <rth@cygnus.com> 2000-06-14 Richard Henderson <rth@cygnus.com>
* conflict.c (conflict_graph_compute): Don't look for REG_INC.
* config/ia64/ia64.c (ia64_setup_incoming_varargs): Don't emit
auto-inc code.
* print-rtl.c (print_rtx): Emit space before mem alias set. * print-rtl.c (print_rtx): Emit space before mem alias set.
2000-06-14 David Edelsohn <edelsohn@gnu.org> 2000-06-14 David Edelsohn <edelsohn@gnu.org>
......
...@@ -1188,19 +1188,17 @@ ia64_setup_incoming_varargs (cum, int_mode, type, pretend_size, second_time) ...@@ -1188,19 +1188,17 @@ ia64_setup_incoming_varargs (cum, int_mode, type, pretend_size, second_time)
{ {
int i; int i;
int first_reg = GR_ARG_FIRST + cum.words + offset; int first_reg = GR_ARG_FIRST + cum.words + offset;
rtx tmp_reg = gen_rtx_REG (DImode, GR_REG (16)); rtx reg1 = gen_reg_rtx (Pmode);
rtx tmp_post_inc = gen_rtx_POST_INC (DImode, tmp_reg); rtx mem1 = gen_rtx_MEM (DImode, reg1);
rtx mem = gen_rtx_MEM (DImode, tmp_post_inc);
rtx insn;
/* We must emit st8.spill insns instead of st8 because we might /* We must emit st8.spill insns instead of st8 because we might
be saving non-argument registers, and non-argument registers might be saving non-argument registers, and non-argument registers
not contain valid values. */ might not contain valid values. */
emit_move_insn (tmp_reg, virtual_incoming_args_rtx); emit_move_insn (reg1, virtual_incoming_args_rtx);
for (i = first_reg; i < GR_ARG_FIRST + 8; i++) for (i = first_reg; i < GR_ARG_FIRST + 8; i++)
{ {
insn = emit_insn (gen_gr_spill (mem, gen_rtx_REG (DImode, i))); emit_insn (gen_gr_spill (mem1, gen_rtx_REG (DImode, i)));
REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_INC, tmp_reg, 0); emit_insn (gen_adddi3 (reg1, reg1, GEN_INT (8)));
} }
} }
*pretend_size = ((MAX_ARGUMENT_SLOTS - cum.words - offset) *pretend_size = ((MAX_ARGUMENT_SLOTS - cum.words - offset)
......
...@@ -483,12 +483,7 @@ conflict_graph_compute (regs, p) ...@@ -483,12 +483,7 @@ conflict_graph_compute (regs, p)
we're in SSA form, if a reg is set here it isn't set we're in SSA form, if a reg is set here it isn't set
anywhere elso, so this insn is where the reg is born. */ anywhere elso, so this insn is where the reg is born. */
CLEAR_REG_SET (born); CLEAR_REG_SET (born);
note_stores (PATTERN (insn), mark_reg, (void *) born); note_stores (PATTERN (insn), mark_reg, born);
#ifdef AUTO_INC_DEC
for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
if (REG_NOTE_KIND (link) == REG_INC)
mark_reg (XEXP (link, 0), NULL_RTX, NULL);
#endif
AND_REG_SET (born, regs); AND_REG_SET (born, regs);
/* Regs born here were not live before this insn. */ /* Regs born here were not live before this insn. */
......
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