From d98a8d38dd84a3ffff7bf7366ca5972997245129 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 14 Jun 2000 14:08:15 -0700 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/ia64/ia64.c | 16 +++++++--------- gcc/conflict.c | 7 +------ 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d639f361804..56ce1e5f64d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2000-06-14 Richard Henderson + * 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. 2000-06-14 David Edelsohn diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 88aa7d23d2c..dca06cd1c3e 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -1188,19 +1188,17 @@ ia64_setup_incoming_varargs (cum, int_mode, type, pretend_size, second_time) { int i; int first_reg = GR_ARG_FIRST + cum.words + offset; - rtx tmp_reg = gen_rtx_REG (DImode, GR_REG (16)); - rtx tmp_post_inc = gen_rtx_POST_INC (DImode, tmp_reg); - rtx mem = gen_rtx_MEM (DImode, tmp_post_inc); - rtx insn; + rtx reg1 = gen_reg_rtx (Pmode); + rtx mem1 = gen_rtx_MEM (DImode, reg1); /* We must emit st8.spill insns instead of st8 because we might - be saving non-argument registers, and non-argument registers might - not contain valid values. */ - emit_move_insn (tmp_reg, virtual_incoming_args_rtx); + be saving non-argument registers, and non-argument registers + might not contain valid values. */ + emit_move_insn (reg1, virtual_incoming_args_rtx); for (i = first_reg; i < GR_ARG_FIRST + 8; i++) { - insn = emit_insn (gen_gr_spill (mem, gen_rtx_REG (DImode, i))); - REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_INC, tmp_reg, 0); + emit_insn (gen_gr_spill (mem1, gen_rtx_REG (DImode, i))); + emit_insn (gen_adddi3 (reg1, reg1, GEN_INT (8))); } } *pretend_size = ((MAX_ARGUMENT_SLOTS - cum.words - offset) diff --git a/gcc/conflict.c b/gcc/conflict.c index f8e86093058..d467ba1b87a 100644 --- a/gcc/conflict.c +++ b/gcc/conflict.c @@ -483,12 +483,7 @@ conflict_graph_compute (regs, p) 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. */ CLEAR_REG_SET (born); - note_stores (PATTERN (insn), mark_reg, (void *) 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 + note_stores (PATTERN (insn), mark_reg, born); AND_REG_SET (born, regs); /* Regs born here were not live before this insn. */ -- 2.30.2