summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2014-11-10 19:52:14 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2014-11-10 19:52:14 +0000
commitf981247fa4fcac9bbe32a46580e292abb69593d4 (patch)
treeeed5d24d3dbed1313980c0c80a4959293d2fdaee
parente94159c98bd5ad4b6a66ee922e3c7158ffd9da77 (diff)
downloadgcc-f981247fa4fcac9bbe32a46580e292abb69593d4.tar.gz
gcc/
* config/frv/frv.c (frv_io_handle_use_1): Delete. (frv_io_handle_use): Use find_all_hard_regs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217311 138bc75d-0d04-0410-961f-82ee72b054a4
-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 bb2876e96d2..95ad903b165 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 7b38f779efe..edd4a58e892 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