https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81791
Bug ID: 81791 Summary: [8 Regression] ICE in cfg_layout_redirect_edge_and_branch, at cfgrtl.c:4422 Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Starting from r250360, we probably exposed a latent bug: $ g++ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/opt/pr47355.C -O2 -fmodulo-sched during RTL pass: sms /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/opt/pr47355.C: In function ‘void foo()’: /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/opt/pr47355.C:39:1: internal compiler error: in cfg_layout_redirect_edge_and_branch, at cfgrtl.c:4422 } ^ 0x95cb2e cfg_layout_redirect_edge_and_branch ../../gcc/cfgrtl.c:4422 0x95cb58 cfg_layout_redirect_edge_and_branch_force ../../gcc/cfgrtl.c:4432 0x9475c3 redirect_edge_and_branch_force(edge_def*, basic_block_def*) ../../gcc/cfghooks.c:474 0x9481c9 make_forwarder_block(basic_block_def*, bool (*)(edge_def*), void (*)(basic_block_def*)) ../../gcc/cfghooks.c:892 0x9558f3 create_preheader(loop*, int) ../../gcc/cfgloopmanip.c:1534 0x955b3e create_preheaders(int) ../../gcc/cfgloopmanip.c:1585 0xbf55de apply_loop_flags ../../gcc/loop-init.c:64 0xbf60bc loop_optimizer_init(unsigned int) ../../gcc/loop-init.c:123 0x1589322 sms_schedule ../../gcc/modulo-sched.c:1351 0x1589322 execute ../../gcc/modulo-sched.c:3342