aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Monakov <amonakov@ispras.ru>2018-04-11 17:36:04 +0300
committerAlexander Monakov <amonakov@gcc.gnu.org>2018-04-11 17:36:04 +0300
commitc391bd50824e79a4639490952e08f5f98fb0029a (patch)
tree9d4f5a7ac3efb5c7fb3a2e3181e858c95593bb05
parenta87a01ea37562100e898c376013e701d1dcb0290 (diff)
downloadgcc-c391bd50824e79a4639490952e08f5f98fb0029a.zip
gcc-c391bd50824e79a4639490952e08f5f98fb0029a.tar.gz
gcc-c391bd50824e79a4639490952e08f5f98fb0029a.tar.bz2
sched-deps: respect deps->readonly in macro-fusion (PR 84566)
PR rtl-optimization/84566 * sched-deps.c (sched_analyze_insn): Check deps->readonly when invoking sched_macro_fuse_insns. From-SVN: r259322
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/sched-deps.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b24df79..39230d7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2018-04-11 Alexander Monakov <amonakov@ispras.ru>
+ PR rtl-optimization/84566
+ * sched-deps.c (sched_analyze_insn): Check deps->readonly when invoking
+ sched_macro_fuse_insns.
+
+2018-04-11 Alexander Monakov <amonakov@ispras.ru>
+
PR target/84301
* sched-rgn.c (add_branch_dependences): Move sel_sched_p check here...
(compute_block_dependences): ... from here.
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 9a5cbeb..120b5f0 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -2897,7 +2897,8 @@ sched_analyze_insn (struct deps_desc *deps, rtx x, rtx_insn *insn)
&& code == SET);
/* Group compare and branch insns for macro-fusion. */
- if (targetm.sched.macro_fusion_p
+ if (!deps->readonly
+ && targetm.sched.macro_fusion_p
&& targetm.sched.macro_fusion_p ())
sched_macro_fuse_insns (insn);