https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86928
Bug ID: 86928 Summary: ICE in compute_live, at sel-sched.c:3097 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, powerpcspe-*-linux-gnu gcc-9.0.0-alpha20180805 snapshot (r263320) ICEs when compiling the following snippet w/ -O2 (-O3, -Ofast) -fnon-call-exceptions -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fselective-scheduling -fno-if-conversion -fno-tree-dce: int kn; void gd (short int sk) { char *as; while (sk < 1) { char *ci; if (*ci == 0) *as += ci; for (kn = 0; kn < 18; ++kn) { } ++sk; } } % powerpc-e300c3-linux-gnu-gcc-9.0.0-alpha20180805 -O2 -fnon-call-exceptions -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fselective-scheduling -fno-if-conversion -fno-tree-dce -w -c opsr9okd.c during RTL pass: sched1 opsr9okd.c: In function 'gd': opsr9okd.c:21:1: internal compiler error: in compute_live, at sel-sched.c:3097 } ^ 0xbe0aa2 compute_live(rtx_insn*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sel-sched.c:3097 0xbe0938 compute_live_after_bb /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sel-sched.c:3074 0xbe0938 compute_live(rtx_insn*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sel-sched.c:3131 0xbe4058 code_motion_path_driver /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sel-sched.c:6660 0xbe524d move_op /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sel-sched.c:6714 0xbe524d move_exprs_to_boundary /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sel-sched.c:5237 0xbe524d schedule_expr_on_boundary /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sel-sched.c:5450 0xbe92a8 fill_insns /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sel-sched.c:5592 0xbeb0de schedule_on_fences /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sel-sched.c:7366 0xbeb0de sel_sched_region_2 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sel-sched.c:7504 0xbec142 sel_sched_region_1 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sel-sched.c:7546 0xbed735 sel_sched_region(int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sel-sched.c:7647 0xbee079 run_selective_scheduling() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sel-sched.c:7733 0xbc5db4 rest_of_handle_sched /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sched-rgn.c:3718 0xbc5db4 execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180805/work/gcc-9-20180805/gcc/sched-rgn.c:3828