aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/frv/frv.c22
2 files changed, 8 insertions, 19 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bb2876e..95ad903 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2014-11-10 Richard Sandiford <richard.sandiford@arm.com>
+ * config/frv/frv.c (frv_io_handle_use_1): Delete.
+ (frv_io_handle_use): Use find_all_hard_regs.
+
+2014-11-10 Richard Sandiford <richard.sandiford@arm.com>
+
* config/frv/frv.c (frv_registers_conflict_p_1): Take an rtx rather
than an rtx *. Take the regstate_t directly rather than via a void *.
Return a bool rather than an int. Iterate over all subrtxes here.
diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c
index 7b38f77..edd4a58 100644
--- a/gcc/config/frv/frv.c
+++ b/gcc/config/frv/frv.c
@@ -7802,29 +7802,13 @@ frv_io_handle_set (rtx x, const_rtx pat ATTRIBUTE_UNUSED, void *data)
CLEAR_HARD_REG_BIT (*set, regno);
}
-/* A for_each_rtx callback for which DATA points to a HARD_REG_SET.
- Add every register in *X to the set. */
-
-static int
-frv_io_handle_use_1 (rtx *x, void *data)
-{
- HARD_REG_SET *set = (HARD_REG_SET *) data;
- unsigned int regno;
-
- if (REG_P (*x))
- FOR_EACH_REGNO (regno, *x)
- SET_HARD_REG_BIT (*set, regno);
-
- return 0;
-}
-
-/* A note_stores callback that applies frv_io_handle_use_1 to an
- entire rhs value. */
+/* A note_uses callback that adds all registers in *X to hard register
+ set *DATA. */
static void
frv_io_handle_use (rtx *x, void *data)
{
- for_each_rtx (x, frv_io_handle_use_1, data);
+ find_all_hard_regs (*x, (HARD_REG_SET *) data);
}
/* Go through block BB looking for membars to remove. There are two