aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgcleanup.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2018-01-11 09:02:26 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2018-01-11 08:02:26 +0000
commit3211aea29a0576eeb3326879b2f58fc0ed374a40 (patch)
tree0eb2546f8e091da200fb62167784111eba90f386 /gcc/cfgcleanup.c
parent27086ea39f16addb987edb4719afb7cd9b01800c (diff)
downloadgcc-3211aea29a0576eeb3326879b2f58fc0ed374a40.zip
gcc-3211aea29a0576eeb3326879b2f58fc0ed374a40.tar.gz
gcc-3211aea29a0576eeb3326879b2f58fc0ed374a40.tar.bz2
re PR rtl-optimization/83575 (ICE: verify_flow_info failed (error: multiple hot/cold transitions found))
PR middle-end/83575 * cfgrtl.c (rtl_verify_edges): Only verify fixability of partition when in layout mode. (cfg_layout_finalize): Do not verify cfg before we are out of layout. * cfgcleanup.c (try_optimize_cfg): Only verify flow info when doing partition fixup. * gcc.c-torture/compile/pr83575.c: New testcase. From-SVN: r256479
Diffstat (limited to 'gcc/cfgcleanup.c')
-rw-r--r--gcc/cfgcleanup.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index eebbe8f..c33022c 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -3013,8 +3013,10 @@ try_optimize_cfg (int mode)
is only visible after newly unreachable blocks are deleted,
which will be done in fixup_partitions. */
if ((mode & CLEANUP_NO_PARTITIONING) == 0)
- fixup_partitions ();
- checking_verify_flow_info ();
+ {
+ fixup_partitions ();
+ checking_verify_flow_info ();
+ }
}
changed_overall |= changed;