From 9b8317b4b7fed6d0a30d36450186a745f17b2913 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Sun, 26 Oct 2014 10:41:45 +0000 Subject: [PATCH] mips.c (mips_sim_insn): Update comment. gcc/ * config/mips/mips.c (mips_sim_insn): Update comment. (mips_sim_wait_regs_2): Delete. (mips_sim_wait_regs_1): Use FOR_EACH_SUBRTX_VAR. From-SVN: r216713 --- gcc/ChangeLog | 6 ++++++ gcc/config/mips/mips.c | 21 +++++++-------------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f753d6545e2..059db3081ae 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-10-26 Richard Sandiford + + * config/mips/mips.c (mips_sim_insn): Update comment. + (mips_sim_wait_regs_2): Delete. + (mips_sim_wait_regs_1): Use FOR_EACH_SUBRTX_VAR. + 2014-10-26 Richard Sandiford * config/mips/mips.c (r10k_needs_protection_p_call): Take a const_rtx diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 8a0185c0c98..fe1f5f5f220 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -15468,7 +15468,7 @@ mips_annotate_pic_calls (void) } } -/* A temporary variable used by for_each_rtx callbacks, etc. */ +/* A temporary variable used by note_uses callbacks, etc. */ static rtx_insn *mips_sim_insn; /* A structure representing the state of the processor pipeline. @@ -15562,23 +15562,16 @@ mips_sim_wait_reg (struct mips_sim *state, rtx_insn *insn, rtx reg) } } -/* A for_each_rtx callback. If *X is a register, advance simulation state - DATA until mips_sim_insn can read the register's value. */ - -static int -mips_sim_wait_regs_2 (rtx *x, void *data) -{ - if (REG_P (*x)) - mips_sim_wait_reg ((struct mips_sim *) data, mips_sim_insn, *x); - return 0; -} - -/* Call mips_sim_wait_regs_2 (R, DATA) for each register R mentioned in *X. */ +/* A note_uses callback. For each register in *X, advance simulation + state DATA until mips_sim_insn can read the register's value. */ static void mips_sim_wait_regs_1 (rtx *x, void *data) { - for_each_rtx (x, mips_sim_wait_regs_2, data); + subrtx_var_iterator::array_type array; + FOR_EACH_SUBRTX_VAR (iter, array, *x, NONCONST) + if (REG_P (*iter)) + mips_sim_wait_reg ((struct mips_sim *) data, mips_sim_insn, *iter); } /* Advance simulation state STATE until all of INSN's register -- 2.30.2