diff options
author | Jakub Jelinek <jakub@redhat.com> | 2017-09-16 20:38:01 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-09-16 20:38:01 +0200 |
commit | 6119d408010c54f4bdadad36647e4f6cb5bfb8f3 (patch) | |
tree | 6987c39363829cf74988b1dbe1d1872d625cb228 | |
parent | 0770fc0ac2cfde15f472885f2930683759107da9 (diff) | |
download | gcc-6119d408010c54f4bdadad36647e4f6cb5bfb8f3.zip gcc-6119d408010c54f4bdadad36647e4f6cb5bfb8f3.tar.gz gcc-6119d408010c54f4bdadad36647e4f6cb5bfb8f3.tar.bz2 |
backport: re PR target/81621 (ICE in delete_insn, at cfgrtl.c:167 with s390x cross compiler)
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.
From-SVN: r252884
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/bb-reorder.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr81621.c | 5 |
4 files changed, 16 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 292907c..3ecc00f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -10,6 +10,10 @@ 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 middle-end/81052 * omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp. (pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd. diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c index 7d5073b..90dbcd4 100644 --- a/gcc/bb-reorder.c +++ b/gcc/bb-reorder.c @@ -2744,7 +2744,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; @@ -2810,7 +2811,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 4009327..853812a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -8,6 +8,9 @@ 2017-08-03 Jakub Jelinek <jakub@redhat.com> + PR target/81621 + * gcc.dg/pr81621.c: New test. + PR middle-end/81052 * c-c++-common/pr81052.c: New test. diff --git a/gcc/testsuite/gcc.dg/pr81621.c b/gcc/testsuite/gcc.dg/pr81621.c new file mode 100644 index 0000000..fb41eab --- /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" |