https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85410
--- Comment #2 from Arseny Solokha <asolokha at gmx dot com> --- Here's another snippet. gcc-8.0.0-alpha20180422 snapshot (r259553) w/ r259563 applied ICEs when compiling it for x86_64 w/ -O2 (-O3, -Os) -ftree-slp-vectorize -fschedule-insns -fsel-sched-pipelining -fselective-scheduling -fvar-tracking-assignments -fno-tree-pre -fno-tree-dce -fno-tree-ch -fno-move-loop-invariants: int ce, jq; int vc (void) { int g4 = 0; return g4; } void sg (void) { while (jq < 2) { int tv[] = { 1, 0, 0, 0, 0, }; if (jq == 0) { } else while (ce > 0) ce = 0; jq = vc (); } } % x86_64-pc-linux-gnu-gcc-8.0.0-alpha20180422 -O2 -ftree-slp-vectorize -fschedule-insns -fsel-sched-pipelining -fselective-scheduling -fvar-tracking-assignments -fno-tree-pre -fno-tree-dce -fno-tree-ch -fno-move-loop-invariants -w -c gbhm444y.c during RTL pass: sched1 gbhm444y.c: In function 'sg': gbhm444y.c:27:1: internal compiler error: in create_block_for_bookkeeping, at sel-sched.c:4563 } ^ 0x64e07f create_block_for_bookkeeping /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:4563 0x64e07f find_place_for_bookkeeping /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:4700 0x64e07f generate_bookkeeping_insn /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:4800 0x64e07f move_op_at_first_insn /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:6077 0xc6774c code_motion_path_driver /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:6669 0xc67ad6 code_motion_process_successors /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:6356 0xc67ad6 code_motion_path_driver /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:6622 0xc67ad6 code_motion_process_successors /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:6356 0xc67ad6 code_motion_path_driver /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:6622 0xc67ad6 code_motion_process_successors /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:6356 0xc67ad6 code_motion_path_driver /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:6622 0xc68172 move_op /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:6714 0xc68172 move_exprs_to_boundary /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:5237 0xc68172 schedule_expr_on_boundary /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:5450 0xc6c20c fill_insns /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:5592 0xc6c20c schedule_on_fences /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:7366 0xc6c20c sel_sched_region_2 /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:7504 0xc6d958 sel_sched_region_1 /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:7546 0xc6e1de sel_sched_region(int) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:7647 0xc6f0e8 run_selective_scheduling() /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:7733