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