diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2018-01-11 09:02:26 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2018-01-11 08:02:26 +0000 |
commit | 3211aea29a0576eeb3326879b2f58fc0ed374a40 (patch) | |
tree | 0eb2546f8e091da200fb62167784111eba90f386 /gcc/cfgcleanup.c | |
parent | 27086ea39f16addb987edb4719afb7cd9b01800c (diff) | |
download | gcc-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.c | 6 |
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; |