https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83480
Bug ID: 83480 Summary: [8 Regression] ICE in create_block_for_bookkeeping, at sel-sched.c:4557 on 32-bit BE powerpc target Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: ice-on-valid-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-alpha20171217 snapshot (r255766) ICEs when compiling the following snippet w/ -g -O2 (-O3, -Ofast) -fselective-scheduling2 -fsel-sched-pipelining -fgcse-sm -floop-parallelize-all -fno-tree-loop-im: int cf, eq; void m8 (long long int yl, int nn) { while (nn < 1) { cf = (yl / nn) >= -1; ++nn; } while (cf < 1) { for (eq = 0; eq < 2; eq++) { } ++cf; } } % powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20171217 -g -O2 -fselective-scheduling2 -fsel-sched-pipelining -fgcse-sm -floop-parallelize-all -fno-tree-loop-im -c m4vfwtte.c during RTL pass: sched2 m4vfwtte.c: In function 'm8': m4vfwtte.c:19:1: internal compiler error: in create_block_for_bookkeeping, at sel-sched.c:4557 } ^ 0xbe4c22 create_block_for_bookkeeping /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:4557 0xbe4c22 find_place_for_bookkeeping /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:4694 0xbe4c22 generate_bookkeeping_insn /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:4794 0xbe4c22 move_op_at_first_insn /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:6067 0xbe551b code_motion_path_driver /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:6659 0xbe5f01 code_motion_process_successors /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:6346 0xbe5f01 code_motion_path_driver /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:6612 0xbe5f01 code_motion_process_successors /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:6346 0xbe5f01 code_motion_path_driver /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:6612 0xbe6765 move_op /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:6704 0xbe6765 move_exprs_to_boundary /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:5227 0xbe6765 schedule_expr_on_boundary /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:5440 0xbea7c8 fill_insns /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:5582 0xbec53e schedule_on_fences /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:7356 0xbec53e sel_sched_region_2 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:7494 0xbeed31 sel_sched_region_1 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:7536 0xbeed31 sel_sched_region(int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:7637 0xbef401 run_selective_scheduling() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:7713 0xbc640d rest_of_handle_sched2 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sched-rgn.c:3729 0xbc640d execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sched-rgn.c:3873