aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/sel-sched.c1
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/gcc.dg/pr79570.c6
4 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0697aec..a58a516 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2017-02-21 Jakub Jelinek <jakub@redhat.com>
+ PR target/79570
+ * sel-sched.c (moveup_expr_cached): Don't call sel_bb_head
+ on temporarily removed DEBUG_INSNs.
+
PR tree-optimization/79649
* tree-loop-distribution.c (classify_partition): Give up on
non-generic address space loads/stores.
diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c
index 4e9c68f..708d088 100644
--- a/gcc/sel-sched.c
+++ b/gcc/sel-sched.c
@@ -2529,6 +2529,7 @@ moveup_expr_cached (expr_t expr, insn_t insn, bool inside_insn_group)
}
if (DEBUG_INSN_P (EXPR_INSN_RTX (expr))
+ && BLOCK_FOR_INSN (EXPR_INSN_RTX (expr))
&& (sel_bb_head (BLOCK_FOR_INSN (EXPR_INSN_RTX (expr)))
== EXPR_INSN_RTX (expr)))
/* Don't use cached information for debug insns that are heads of
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c432fb0..f6f2e37 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2017-02-21 Jakub Jelinek <jakub@redhat.com>
+ PR target/79570
+ * gcc.dg/pr79570.c: New test.
+
PR c++/79641
* c-c++-common/pr79641.c: New test.
diff --git a/gcc/testsuite/gcc.dg/pr79570.c b/gcc/testsuite/gcc.dg/pr79570.c
new file mode 100644
index 0000000..00841b9
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr79570.c
@@ -0,0 +1,6 @@
+/* PR target/79570 */
+/* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
+/* { dg-options "-O2 -fselective-scheduling2 -fvar-tracking-assignments" } */
+/* { dg-warning "changes selective scheduling" "" { target *-*-* } 0 } */
+
+#include "pr69956.c"