aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2014-10-26 10:40:22 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2014-10-26 10:40:22 +0000
commit2caafc4476400a74b975f65228e91ecffc769761 (patch)
treee841dd94ee2597f8fb3e2addc09389a8e757b4af
parent5dabe5a94ef83a96f437f9f3425caf0f5280f08d (diff)
downloadgcc-2caafc4476400a74b975f65228e91ecffc769761.zip
gcc-2caafc4476400a74b975f65228e91ecffc769761.tar.gz
gcc-2caafc4476400a74b975f65228e91ecffc769761.tar.bz2
sh.c (sh_contains_memref_p_1): Delete.
gcc/ * config/sh/sh.c (sh_contains_memref_p_1): Delete. (sh_contains_memref_p): Use FOR_EACH_SUBRTX. From-SVN: r216702
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sh/sh.c15
2 files changed, 11 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c33e0e5..b7a51a4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2014-10-26 Richard Sandiford <richard.sandiford@arm.com>
+ * config/sh/sh.c (sh_contains_memref_p_1): Delete.
+ (sh_contains_memref_p): Use FOR_EACH_SUBRTX.
+
+2014-10-26 Richard Sandiford <richard.sandiford@arm.com>
+
* config/sh/sh-protos.h (shmedia_cleanup_truncate): Take an
rtx as argument and return the number of changes.
* config/sh/sh.c: Include rtl-iter.h.
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 2d1a927..2b1f98b 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -12972,18 +12972,15 @@ shmedia_cleanup_truncate (rtx x)
so we must look at the rtl ourselves to see if any of the feeding
registers is used in a memref.
- Called by sh_contains_memref_p via for_each_rtx. */
-static int
-sh_contains_memref_p_1 (rtx *loc, void *data ATTRIBUTE_UNUSED)
-{
- return (MEM_P (*loc));
-}
-
-/* Return true iff INSN contains a MEM. */
+ Return true iff INSN contains a MEM. */
bool
sh_contains_memref_p (rtx insn)
{
- return for_each_rtx (&PATTERN (insn), &sh_contains_memref_p_1, NULL);
+ subrtx_iterator::array_type array;
+ FOR_EACH_SUBRTX (iter, array, PATTERN (insn), NONCONST)
+ if (MEM_P (*iter))
+ return true;
+ return false;
}
/* Return true iff INSN loads a banked register. */