From: Jakub Jelinek Date: Sat, 16 Sep 2017 18:38:01 +0000 (+0200) Subject: backport: re PR target/81621 (ICE in delete_insn, at cfgrtl.c:167 with s390x cross... X-Git-Tag: releases/gcc-5.5.0~42 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6119d408010c54f4bdadad36647e4f6cb5bfb8f3;p=thirdparty%2Fgcc.git 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 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 292907cabf2e..3ecc00f6e5cd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -10,6 +10,10 @@ 2017-08-03 Jakub Jelinek + 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 7d5073b02471..90dbcd4c9470 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 40093277202a..853812a487d9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -8,6 +8,9 @@ 2017-08-03 Jakub Jelinek + 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 000000000000..fb41eab89617 --- /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"