Hi all,

I noticed that the check for modified_in_p in sched-deps is not needed and needlessly restricts the insn pairs that we can check for macro fusion in the backend hooks. This patch removes the check. Currently that execution path is only used in arm and aarch64.
This enables the backend hooks to catch more cases that I'm working on.

Bootstrapped on aarch64, x86, arm. Tested on aarch64.

Ok for trunk?

Thanks,
Kyrill

2014-11-12  Kyrylo Tkachov  <kyrylo.tkac...@arm.com>

    * sched-deps.c (sched_macro_fuse_insns): Do not check modified_in_p
    in the not condtional jump case.
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 6cdb95a..b3827ba 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -2877,8 +2877,7 @@ sched_macro_fuse_insns (rtx_insn *insn)
       prev = prev_nonnote_nondebug_insn (insn);
       if (!prev
           || !insn_set
-          || !single_set (prev)
-          || !modified_in_p (SET_DEST (insn_set), prev))
+          || !single_set (prev))
         return;
 
     }

Reply via email to