https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85876
Bug ID: 85876 Summary: ICE in move_op_ascend, at sel-sched.c:6164 Product: gcc Version: unknown 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-unknown-linux-gnu gcc-9.0.0-alpha20180520 snapshot (r260425), 8.1, 7.3, 6.3, 5.4, 4.9.4 all ICE when compiling the following snippet w/ -march=bdver1 -O2 (-O3, -Ofast) -fschedule-insns -fsel-sched-pipelining -fselective-scheduling -fno-if-conversion -fno-tree-dce: int ov, rq, ac; int y2 (int); void f8 (int vn) { while (rq < 1) { ov *= y2 (ac); vn += (!!ov && !!ac) + ac; } } % x86_64-unknown-linux-gnu-gcc-9.0.0-alpha20180520 -march=bdver1 -O2 -fschedule-insns -fsel-sched-pipelining -fselective-scheduling -fno-if-conversion -fno-tree-dce -c nnsbuwm9.c during RTL pass: sched1 nnsbuwm9.c: In function 'f8': nnsbuwm9.c:14:1: internal compiler error: in move_op_ascend, at sel-sched.c:6164 } ^ 0x64f8c9 move_op_ascend /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/sel-sched.c:6164 0xc64d61 code_motion_path_driver /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/sel-sched.c:6660 0xc65872 move_op /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/sel-sched.c:6714 0xc65872 move_exprs_to_boundary /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/sel-sched.c:5237 0xc65872 schedule_expr_on_boundary /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/sel-sched.c:5450 0xc6973c fill_insns /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/sel-sched.c:5592 0xc6973c schedule_on_fences /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/sel-sched.c:7366 0xc6973c sel_sched_region_2 /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/sel-sched.c:7504 0xc6ae26 sel_sched_region_1 /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/sel-sched.c:7546 0xc6b61e sel_sched_region(int) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/sel-sched.c:7647 0xc6c511 run_selective_scheduling() /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/sel-sched.c:7733 0xc4c29d rest_of_handle_sched /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/sched-rgn.c:3718 0xc4c29d execute /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/sched-rgn.c:3828 I hope this is not a duplicate of some other sel-sched PR.