This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/72749] [7 Regression] ICE: verify_flow_info failed (error: wrong amount of branch edges after conditional jump in bb 5) w/ -O2 -fsched2-use-superblocks
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 10 Jan 2017 17:43:38 +0000
- Subject: [Bug target/72749] [7 Regression] ICE: verify_flow_info failed (error: wrong amount of branch edges after conditional jump in bb 5) w/ -O2 -fsched2-use-superblocks
- Auto-submitted: auto-generated
- References: <bug-72749-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72749
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |amodra at gcc dot gnu.org,
| |jakub at gcc dot gnu.org
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started with r238207.
So, what I see is that the loop2_doloop pass creates a strange doloop
JUMP_INSN,
which falls thru into an empty basic block whose single successor is the other
successor of the doloop insn. During various passes that doloop insn's bb
turns into one that has just a single edge, then again 2 edges and back a
single edge, and finally during sched2 some checking ICEs on it.
Before r238207 the doloop insn didn't have UNSPEC inside of it and so has been
optimized away.