https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85423
Bug ID: 85423 Summary: [8 Regression] ICE in code_motion_process_successors, at sel-sched.c:6403 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: x86_64-pc-linux-gnu gcc-8.0.0-alpha20180415 snapshot (r259389) ICEs when compiling the following snippet w/ -march=nano -O2 (-O3, -Ofast) -fselective-scheduling2 -fvar-tracking-assignments -fno-guess-branch-probability -fno-peephole2 -fno-ssa-phiopt -fno-tree-pre --param max-jump-thread-duplication-stmts=8: int vn, xm; void i1 (int); void mb (int *ap, int ev) { while (vn < 1) { i1 (vn); ev += *ap && ++vn; while (xm < 1) ++xm; if (*ap == 0) *ap = ev; ++vn; } } % x86_64-unknown-linux-gnu-gcc-8.0.0-alpha20180415 -march=nano -O2 -fselective-scheduling2 -fvar-tracking-assignments -fno-guess-branch-probability -fno-peephole2 -fno-ssa-phiopt -fno-tree-pre --param max-jump-thread-duplication-stmts=8 -w -c l7diilgr.c during RTL pass: sched2 l7diilgr.c: In function 'mb': l7diilgr.c:23:1: internal compiler error: in code_motion_process_successors, at sel-sched.c:6403 } ^ 0xc6c314 code_motion_process_successors /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6400 0xc6c314 code_motion_path_driver /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6622 0xc6be6e code_motion_process_successors /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6356 0xc6be6e code_motion_path_driver /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6622 0xc6be6e code_motion_process_successors /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6356 0xc6be6e code_motion_path_driver /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6622 0xc6c512 move_op /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:6714 0xc6c512 move_exprs_to_boundary /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:5237 0xc6c512 schedule_expr_on_boundary /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:5450 0xc705ac fill_insns /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:5592 0xc705ac schedule_on_fences /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:7366 0xc705ac sel_sched_region_2 /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:7504 0xc71d28 sel_sched_region_1 /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:7546 0xc725ae sel_sched_region(int) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:7647 0xc734c1 run_selective_scheduling() /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:7733 0xc52d45 rest_of_handle_sched2 /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sched-rgn.c:3732 0xc52d45 execute /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sched-rgn.c:3876