diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/frv/frv.c | 22 |
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 |