summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2017-09-07 20:23:14 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2017-09-07 20:23:14 +0000
commitb2e51764a62446dcab1b0178174666c60cdc7901 (patch)
tree1ffc2efe5fc844b3ca389d2931d74f895f30cb50
parent9ebbdf4582896b233498b0e2ce5c48c97a6e7385 (diff)
downloadgcc-b2e51764a62446dcab1b0178174666c60cdc7901.tar.gz
Backported from mainline
2017-08-03 Jakub Jelinek <jakub@redhat.com> PR target/81621 * bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish after setting changeable df flags. * gcc.dg/pr81621.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251851 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/bb-reorder.c6
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/gcc.dg/pr81621.c5
4 files changed, 16 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a8eb6c5ffde..b01ac7222c1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -3,6 +3,10 @@
Backported from mainline
2017-08-03 Jakub Jelinek <jakub@redhat.com>
+ PR target/81621
+ * bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish
+ after setting changeable df flags.
+
PR driver/81650
* calls.c (alloc_max_size): Use HOST_WIDE_INT_UC (10??)
instead of 10??LU, perform unit multiplication in wide_int,
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
index a8d42564c4b..b297fea5de8 100644
--- a/gcc/bb-reorder.c
+++ b/gcc/bb-reorder.c
@@ -2881,7 +2881,8 @@ pass_partition_blocks::execute (function *fun)
crossing_edges = find_rarely_executed_basic_blocks_and_crossing_edges ();
if (!crossing_edges.exists ())
- return 0;
+ /* Make sure to process deferred rescans and clear changeable df flags. */
+ return TODO_df_finish;
crtl->has_bb_partition = true;
@@ -2947,7 +2948,8 @@ pass_partition_blocks::execute (function *fun)
df_analyze ();
}
- return 0;
+ /* Make sure to process deferred rescans and clear changeable df flags. */
+ return TODO_df_finish;
}
} // anon namespace
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d8fe31dfb10..4c6b65c5d6d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -3,6 +3,9 @@
Backported from mainline
2017-08-03 Jakub Jelinek <jakub@redhat.com>
+ PR target/81621
+ * gcc.dg/pr81621.c: New test.
+
PR driver/81650
* gcc.dg/pr81650.c: New test.
diff --git a/gcc/testsuite/gcc.dg/pr81621.c b/gcc/testsuite/gcc.dg/pr81621.c
new file mode 100644
index 00000000000..fb41eab8961
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr81621.c
@@ -0,0 +1,5 @@
+/* PR target/81621 */
+/* { dg-do compile { target freorder } } */
+/* { dg-options "-Og -fno-split-wide-types -freorder-blocks-and-partition" } */
+
+#include "graphite/scop-10.c"