* [Bug rtl-optimization/99085] [11 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found)
2021-02-13 7:59 [Bug rtl-optimization/99085] New: [11 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found) asolokha at gmx dot com
@ 2021-02-15 8:23 ` rguenth at gcc dot gnu.org
2021-02-15 8:29 ` [Bug rtl-optimization/99085] [10/11 " jakub at gcc dot gnu.org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-02-15 8:23 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99085
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |11.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug rtl-optimization/99085] [10/11 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found)
2021-02-13 7:59 [Bug rtl-optimization/99085] New: [11 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found) asolokha at gmx dot com
2021-02-15 8:23 ` [Bug rtl-optimization/99085] " rguenth at gcc dot gnu.org
@ 2021-02-15 8:29 ` jakub at gcc dot gnu.org
2021-02-15 8:30 ` jakub at gcc dot gnu.org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-02-15 8:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99085
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
Priority|P3 |P2
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Summary|[11 Regression] ICE: |[10/11 Regression] ICE:
|verify_flow_info failed |verify_flow_info failed
|(error: multiple hot/cold |(error: multiple hot/cold
|transitions found) |transitions found)
Last reconfirmed| |2021-02-15
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I can reproduce the ICE also with gcc 10:
/usr/src/gcc-10/obj12/gcc/cc1 -quiet -O2 -fgraphite-identity
-fsel-sched-pipelining -fselective-scheduling2 /tmp/pr99085.c
/tmp/pr99085.c: In function ‘foo’:
/tmp/pr99085.c:16:1: error: multiple hot/cold transitions found (bb 15)
16 | }
| ^
/tmp/pr99085.c:16:1: error: multiple hot/cold transitions found (bb 11)
during RTL pass: stack
/tmp/pr99085.c:16:1: internal compiler error: verify_flow_info failed
but can't with gcc 9. As it is with graphite, can't bisect (easily) myself
though.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug rtl-optimization/99085] [10/11 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found)
2021-02-13 7:59 [Bug rtl-optimization/99085] New: [11 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found) asolokha at gmx dot com
2021-02-15 8:23 ` [Bug rtl-optimization/99085] " rguenth at gcc dot gnu.org
2021-02-15 8:29 ` [Bug rtl-optimization/99085] [10/11 " jakub at gcc dot gnu.org
@ 2021-02-15 8:30 ` jakub at gcc dot gnu.org
2021-02-15 16:11 ` jakub at gcc dot gnu.org
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-02-15 8:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99085
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|11.0 |10.3
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug rtl-optimization/99085] [10/11 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found)
2021-02-13 7:59 [Bug rtl-optimization/99085] New: [11 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found) asolokha at gmx dot com
` (2 preceding siblings ...)
2021-02-15 8:30 ` jakub at gcc dot gnu.org
@ 2021-02-15 16:11 ` jakub at gcc dot gnu.org
2021-03-03 8:52 ` cvs-commit at gcc dot gnu.org
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-02-15 16:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99085
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org
Status|NEW |ASSIGNED
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 50187
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50187&action=edit
gcc11-pr99085.patch
Untested fix.
The fixup_partitions code can move some bbs from hot to cold partitions (if
they are dominated by cold bbs, either before or after unreachable bb removal),
but
when not in cfglayout mode after reorder partitions it isn't sufficient to
adjust the edges and corresponding jumps, but we also need to move the bb in
the bb chain.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug rtl-optimization/99085] [10/11 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found)
2021-02-13 7:59 [Bug rtl-optimization/99085] New: [11 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found) asolokha at gmx dot com
` (3 preceding siblings ...)
2021-02-15 16:11 ` jakub at gcc dot gnu.org
@ 2021-03-03 8:52 ` cvs-commit at gcc dot gnu.org
2021-03-03 8:57 ` [Bug rtl-optimization/99085] [10 " jakub at gcc dot gnu.org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-03-03 8:52 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99085
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:4ad5b1915d50cc39691487f58794d699c7900ace
commit r11-7471-g4ad5b1915d50cc39691487f58794d699c7900ace
Author: Jakub Jelinek <jakub@redhat.com>
Date: Wed Mar 3 09:51:54 2021 +0100
cfgrtl: Fix up fixup_partitions caused ICE [PR99085]
fixup_partitions sometimes changes some basic blocks from hot partition to
cold partition, in particular if after unreachable block removal or other
optimizations a hot partition block is dominated by cold partition
block(s).
It fixes up the edges and jumps on those edges, but when after reorder
blocks and in rtl (non-cfglayout) mode that is clearly not enough, because
it keeps the block order the same and so we can end up with more than
1 hot/cold section transition in the same function.
So, this patch fixes that up too.
2021-03-03 Jakub Jelinek <jakub@redhat.com>
PR target/99085
* cfgrtl.c (fixup_partitions): When changing some bbs from hot to
cold
partitions, if in non-layout mode after reorder_blocks also move
affected blocks to ensure a single partition transition.
* gcc.dg/graphite/pr99085.c: New test.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug rtl-optimization/99085] [10 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found)
2021-02-13 7:59 [Bug rtl-optimization/99085] New: [11 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found) asolokha at gmx dot com
` (4 preceding siblings ...)
2021-03-03 8:52 ` cvs-commit at gcc dot gnu.org
@ 2021-03-03 8:57 ` jakub at gcc dot gnu.org
2021-03-19 23:30 ` cvs-commit at gcc dot gnu.org
2021-03-20 8:08 ` jakub at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-03-03 8:57 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99085
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[10/11 Regression] ICE: |[10 Regression] ICE:
|verify_flow_info failed |verify_flow_info failed
|(error: multiple hot/cold |(error: multiple hot/cold
|transitions found) |transitions found)
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed on the trunk (so far).
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug rtl-optimization/99085] [10 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found)
2021-02-13 7:59 [Bug rtl-optimization/99085] New: [11 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found) asolokha at gmx dot com
` (5 preceding siblings ...)
2021-03-03 8:57 ` [Bug rtl-optimization/99085] [10 " jakub at gcc dot gnu.org
@ 2021-03-19 23:30 ` cvs-commit at gcc dot gnu.org
2021-03-20 8:08 ` jakub at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-03-19 23:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99085
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:a7c4a70077ad7291f57663aef62d097018d28a10
commit r10-9478-ga7c4a70077ad7291f57663aef62d097018d28a10
Author: Jakub Jelinek <jakub@redhat.com>
Date: Wed Mar 3 09:51:54 2021 +0100
cfgrtl: Fix up fixup_partitions caused ICE [PR99085]
fixup_partitions sometimes changes some basic blocks from hot partition to
cold partition, in particular if after unreachable block removal or other
optimizations a hot partition block is dominated by cold partition
block(s).
It fixes up the edges and jumps on those edges, but when after reorder
blocks and in rtl (non-cfglayout) mode that is clearly not enough, because
it keeps the block order the same and so we can end up with more than
1 hot/cold section transition in the same function.
So, this patch fixes that up too.
2021-03-03 Jakub Jelinek <jakub@redhat.com>
PR target/99085
* cfgrtl.c (fixup_partitions): When changing some bbs from hot to
cold
partitions, if in non-layout mode after reorder_blocks also move
affected blocks to ensure a single partition transition.
* gcc.dg/graphite/pr99085.c: New test.
(cherry picked from commit 4ad5b1915d50cc39691487f58794d699c7900ace)
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug rtl-optimization/99085] [10 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found)
2021-02-13 7:59 [Bug rtl-optimization/99085] New: [11 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found) asolokha at gmx dot com
` (6 preceding siblings ...)
2021-03-19 23:30 ` cvs-commit at gcc dot gnu.org
@ 2021-03-20 8:08 ` jakub at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-03-20 8:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99085
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed for 10.3 too.
^ permalink raw reply [flat|nested] 9+ messages in thread