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;
}