[AArch64] Use contains_mem_rtx_p to detect memory sub-rtxes
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Mon, 13 Feb 2017 15:54:50 +0000 (15:54 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Mon, 13 Feb 2017 15:54:50 +0000 (15:54 +0000)
* config/aarch64/aarch64.c (has_memory_op): Delete.
(aarch64_madd_needs_nop): Use contains_mem_rtx_p instead of
has_memory_op.

From-SVN: r245391

gcc/ChangeLog
gcc/config/aarch64/aarch64.c

index 814b7845f6ffe323be18796a1c91eb4f7ca99544..098b1e61247871e62df6f79e65938eb2e0dc7dc1 100644 (file)
@@ -1,3 +1,9 @@
+2017-02-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.c (has_memory_op): Delete.
+       (aarch64_madd_needs_nop): Use contains_mem_rtx_p instead of
+       has_memory_op.
+
 2017-02-13  Jakub Jelinek  <jakub@redhat.com>
 
        PR rtl-optimization/79388
@@ -6,7 +12,7 @@
        corresponding dest has last value recorded, invalidate that last
        value.
 
-2016-02-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+2017-02-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * config/arm/arm.c (arm_print_tune_info): Use ASM_COMMENT_START instead
        of explicit '@'.  Add missing assembly comment marker on branch costs
index ebd17a4a1a347f8dec0c4413f2aaa6c559783881..4be3131275c88039f8696c9d73b50e88b5cf92a0 100644 (file)
@@ -10912,21 +10912,6 @@ aarch64_mangle_type (const_tree type)
   return NULL;
 }
 
-
-/* Return true if the rtx_insn contains a MEM RTX somewhere
-   in it.  */
-
-static bool
-has_memory_op (rtx_insn *mem_insn)
-{
-  subrtx_iterator::array_type array;
-  FOR_EACH_SUBRTX (iter, array, PATTERN (mem_insn), ALL)
-    if (MEM_P (*iter))
-      return true;
-
-  return false;
-}
-
 /* Find the first rtx_insn before insn that will generate an assembly
    instruction.  */
 
@@ -11019,7 +11004,7 @@ aarch64_madd_needs_nop (rtx_insn* insn)
      Restore recog state to INSN to avoid state corruption.  */
   extract_constrain_insn_cached (insn);
 
-  if (!prev || !has_memory_op (prev))
+  if (!prev || !contains_mem_rtx_p (PATTERN (prev)))
     return false;
 
   body = single_set (prev);