https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85410
Bug ID: 85410 Summary: ICE in create_block_for_bookkeeping, at sel-sched.c:4563 Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: powerpc-*-linux-gnu gcc-8.0.0-alpha20180415 snapshot (r259389) ICEs when compiling the following snippet w/ -O3 (-Ofast) -fselective-scheduling -fvar-tracking-assignments: void nl (int fg, int lb) { long long unsigned int xj = ~0; double vu; while ((lb - (!fg + 1)) != xj) lb = fg = vu; } % powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20180415 -O3 -fselective-scheduling -fvar-tracking-assignments -w -c chreru5r.c during RTL pass: sched1 chreru5r.c: In function 'nl': chreru5r.c:9:1: internal compiler error: in create_block_for_bookkeeping, at sel-sched.c:4563 } ^ 0xc0f988 create_block_for_bookkeeping /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:4563 0xc0f988 find_place_for_bookkeeping /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:4700 0xc0f988 generate_bookkeeping_insn /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:4800 0xc0f988 move_op_at_first_insn /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6077 0xc10243 code_motion_path_driver /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6669 0xc10bc9 code_motion_process_successors /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6356 0xc10bc9 code_motion_path_driver /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6622 0xc10bc9 code_motion_process_successors /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6356 0xc10bc9 code_motion_path_driver /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6622 0xc10bc9 code_motion_process_successors /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6356 0xc10bc9 code_motion_path_driver /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6622 0xc11415 move_op /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6714 0xc11415 move_exprs_to_boundary /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:5237 0xc11415 schedule_expr_on_boundary /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:5450 0xc15488 fill_insns /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:5592 0xc172ce schedule_on_fences /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:7366 0xc172ce sel_sched_region_2 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:7504 0xc18341 sel_sched_region_1 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:7546 0xc19935 sel_sched_region(int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:7647 0xc1a289 run_selective_scheduling() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:7733