https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85528
Bug ID: 85528 Summary: ICE in code_motion_process_successors, at sel-sched.c:6403 Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-checking, 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*, powerpcspe-*-linux-gnu* gcc-8.0.0-alpha20180422 snapshot (r259553) w/ r259563 applied still ICEs when compiling the following snippet w/ -misel -O1 -frename-registers -fschedule-insns2 -fselective-scheduling2 -ftree-pre -fvar-tracking-assignments -fno-ssa-phiopt -fno-tree-ccp -fno-tree-dce -fno-tree-fre: long long int id; short int am; int sf; void qj (void) { if (id == 0) return; for (;;) { short int kq; id *= 2; kq = id; id = (kq < 3) ? sf : 0; if (id == 0) { int bp; bp = !!id || !!sf; am += bp * (!!id || !!(kq *= 2)); } else sf += id; } } % powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20180422 -misel -O1 -frename-registers -fschedule-insns2 -fselective-scheduling2 -ftree-pre -fvar-tracking-assignments -fno-ssa-phiopt -fno-tree-ccp -fno-tree-dce -fno-tree-fre -w -c sx9cnxly.c during RTL pass: sched2 sx9cnxly.c: In function 'qj': sx9cnxly.c:28:1: internal compiler error: in code_motion_process_successors, at sel-sched.c:6403 } ^ 0xc1180b code_motion_process_successors /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:6400 0xc1180b code_motion_path_driver /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:6622 0xc11269 code_motion_process_successors /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:6356 0xc11269 code_motion_path_driver /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:6622 0xc11ab5 move_op /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:6714 0xc11ab5 move_exprs_to_boundary /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:5237 0xc11ab5 schedule_expr_on_boundary /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:5450 0xc15b28 fill_insns /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:5592 0xc1796e schedule_on_fences /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:7366 0xc1796e sel_sched_region_2 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:7504 0xc189e1 sel_sched_region_1 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:7546 0xc19fd5 sel_sched_region(int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:7647 0xc1a929 run_selective_scheduling() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sel-sched.c:7733 0xbf142d rest_of_handle_sched2 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sched-rgn.c:3732 0xbf142d execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180422/work/gcc-8-20180422/gcc/sched-rgn.c:3876