aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2014-10-26 10:41:45 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2014-10-26 10:41:45 +0000
commit9b8317b4b7fed6d0a30d36450186a745f17b2913 (patch)
tree466e5b99bcc3a689e035bcd09a3af34840772fa7 /gcc
parentd0cac36fc4a0240ca47d8fd79793f9e5c73790bc (diff)
downloadgcc-9b8317b4b7fed6d0a30d36450186a745f17b2913.zip
gcc-9b8317b4b7fed6d0a30d36450186a745f17b2913.tar.gz
gcc-9b8317b4b7fed6d0a30d36450186a745f17b2913.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/mips/mips.c21
2 files changed, 13 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f753d65..059db30 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2014-10-26 Richard Sandiford <richard.sandiford@arm.com>
+ * 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 <richard.sandiford@arm.com>
+
* config/mips/mips.c (r10k_needs_protection_p_call): Take a const_rtx
and return a bool. Iterate over all subrtxes here.
(r10k_needs_protection_p): Update accordingly.
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 8a0185c..fe1f5f5 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