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.