aboutsummaryrefslogtreecommitdiff
path: root/gcc/sched-deps.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2018-01-30 21:03:04 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2018-01-30 21:03:04 +0100
commitc5370327b043595a13cda2237cf2007b690440ef (patch)
treeb5053a5eee16279b6ff819bdd0480579d6c70ce2 /gcc/sched-deps.c
parentb1c7b29a3cae7dcf652cc3e3f971ec010153d814 (diff)
downloadgcc-c5370327b043595a13cda2237cf2007b690440ef.zip
gcc-c5370327b043595a13cda2237cf2007b690440ef.tar.gz
gcc-c5370327b043595a13cda2237cf2007b690440ef.tar.bz2
re PR target/83986 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2348)
PR rtl-optimization/83986 * sched-deps.c (sched_analyze_insn): For frame related insns, add anti dependence against last_pending_memory_flush in addition to pending_jump_insns. * gcc.dg/pr83986.c: New test. From-SVN: r257203
Diffstat (limited to 'gcc/sched-deps.c')
-rw-r--r--gcc/sched-deps.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 2d0199d..9a5cbeb 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -2922,6 +2922,8 @@ sched_analyze_insn (struct deps_desc *deps, rtx x, rtx_insn *insn)
= alloc_INSN_LIST (insn, deps->sched_before_next_jump);
/* Make sure epilogue insn is scheduled after preceding jumps. */
+ add_dependence_list (insn, deps->last_pending_memory_flush, 1,
+ REG_DEP_ANTI, true);
add_dependence_list (insn, deps->pending_jump_insns, 1, REG_DEP_ANTI,
true);
}