https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112345
Bug ID: 112345 Summary: ice in mark_block_for_update Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- For this C code: int bail, test_block_move_end; void test_block_move(my_cpu) { int start; int *p; _Bool at_end = 0; do { if (test_block_move_end) at_end = 1; if (my_cpu) continue; do write64(); while (p <= start && (p += 16)); if (bail) ; } while (!at_end && ++start); } compiled by recent gcc trunk as follows: $ ~/gcc/results/bin/gcc -c -w -g -O2 bug974.c during GIMPLE pass: thread bug974.c: In function ‘test_block_move’: bug974.c:2:6: internal compiler error: Segmentation fault 2 | void test_block_move(my_cpu) { | ^~~~~~~~~~~~~~~ 0xebd2e9 crash_signal(int) ../../trunk.year/gcc/toplev.cc:315 0xf61718 mark_block_for_update(basic_block_def*) ../../trunk.year/gcc/tree-into-ssa.cc:451 0xf61ec2 mark_use_interesting(tree_node*, gimple*, basic_block_def*, bool) ../../trunk.year/gcc/tree-into-ssa.cc:2654 The bg first seems to occur sometime between g:8c40b72036c967fb and g:9119b008b4195e06