https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100398
Bug ID: 100398 Summary: [12 Regression] ICE in gimple_redirect_edge_and_branch, at tree-cfg.c:6082 Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: x86_64-unknown-linux-gnu gcc-12.0.0-alpha20210502 snapshot (g:92f59e47f5a468b96b12b15233a6729904b1a1ee) ICEs when compiling the following testcase, reduced from test/CodeGen/asm-goto.c from the clang 11.1.0 test suite, w/ -O1: int test5_limit (void) { int addr; asm goto ("" : "+r" (addr) : : : t_err); return 0; t_err: return 1; } % x86_64-unknown-linux-gnu-gcc-12.0.0 -O1 -c xttz2qcb.c during GIMPLE pass: veclower2 xttz2qcb.c: In function 'test5_limit': xttz2qcb.c:2:1: internal compiler error: in gimple_redirect_edge_and_branch, at tree-cfg.c:6082 2 | test5_limit (void) | ^~~~~~~~~~~ 0x6cfa49 gimple_redirect_edge_and_branch /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210502/work/gcc-12-20210502/gcc/tree-cfg.c:6082 0x9701e9 redirect_edge_and_branch(edge_def*, basic_block_def*) /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210502/work/gcc-12-20210502/gcc/cfghooks.c:373 0xe610a6 remove_forwarder_block /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210502/work/gcc-12-20210502/gcc/tree-cfgcleanup.c:585 0xe610a6 cleanup_tree_cfg_bb /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210502/work/gcc-12-20210502/gcc/tree-cfgcleanup.c:754 0xe61808 cleanup_tree_cfg_noloop /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210502/work/gcc-12-20210502/gcc/tree-cfgcleanup.c:1103 0xe61808 cleanup_tree_cfg(unsigned int) /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210502/work/gcc-12-20210502/gcc/tree-cfgcleanup.c:1187 0xd2bf64 execute_function_todo /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210502/work/gcc-12-20210502/gcc/passes.c:2008 0xd2c89b execute_todo /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210502/work/gcc-12-20210502/gcc/passes.c:2096