https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85410
--- Comment #3 from Arseny Solokha <asolokha at gmx dot com> --- Testcase from #c2 doesn't fail for me anymore w/ the current trunk snapshot (as of r265361), but the following one does: int py, up; void ro (int *tr, int et) { while (et < 1) { int s7 = !!*tr ? 0 : py; if (s7 != 0) { } else { up /= 2; if (py * py == 0) tr = &py; } ++et; } } % x86_64-unknown-linux-gnu-gcc-9.0.0-alpha20181021 -O1 -fschedule-insns -fsel-sched-pipelining -fselective-scheduling -fvar-tracking-assignments -fno-if-conversion -fno-tree-loop-im -w -c ebmjprna.c during RTL pass: sched1 ebmjprna.c: In function 'ro': ebmjprna.c:23:1: internal compiler error: in create_block_for_bookkeeping, at sel-sched.c:4563 23 | } | ^ 0x65a9e8 create_block_for_bookkeeping /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:4563 0x65a9e8 find_place_for_bookkeeping /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:4700 0x65a9e8 generate_bookkeeping_insn /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:4800 0x65a9e8 move_op_at_first_insn /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:6077 0xc9016c code_motion_path_driver /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:6669 0xc90516 code_motion_process_successors /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:6356 0xc90516 code_motion_path_driver /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:6622 0xc90516 code_motion_process_successors /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:6356 0xc90516 code_motion_path_driver /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:6622 0xc93292 move_op /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:6714 0xc93292 move_exprs_to_boundary /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:5237 0xc93292 schedule_expr_on_boundary /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:5450 0xc951cc fill_insns /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:5592 0xc951cc schedule_on_fences /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:7366 0xc951cc sel_sched_region_2 /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:7504 0xc96a56 sel_sched_region_1 /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:7546 0xc9822e sel_sched_region(int) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:7647 0xc9822e sel_sched_region(int) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:7632 0xc99141 run_selective_scheduling() /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sel-sched.c:7733 0xc78edd rest_of_handle_sched /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181021/work/gcc-9-20181021/gcc/sched-rgn.c:3718