https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80233
Bug ID: 80233
Summary: [7 Regression] ICE in combine_instructions w/ -O2 (and
above)
Product: gcc
Version: 7.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-7.0.0-alpha20170326 snapshot ICEs on the following snippet w/ -O2 (-Os,
-O3, -Ofast):
int xg;
void
t4 (int o9)
{
int it;
if (o9 == 0)
{
int fx;
xg *= it;
if (xg == 0)
it /= 0;
fx = (it != 0) ? (xg < 0) : (xg / o9);
if (fx != 0)
xg = 0;
}
}
% powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20170326 -O2 -w -c hzfu8xgw.c
hzfu8xgw.c: In function 't4':
hzfu8xgw.c:20:1: internal compiler error: Segmentation fault
}
^
(gdb) where
#0 0x000002aaaba73033 in combine_instructions (nregs=<optimized out>,
f=<optimized out>)
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/combine.c:1258
#1 rest_of_handle_combine ()
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/combine.c:14650
#2 (anonymous namespace)::pass_combine::execute (this=<optimized out>)
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/combine.c:14695
#3 0x000002aaab2d8ec6 in execute_one_pass (pass=pass@entry=0x2aaac493020)
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/passes.c:2465
#4 0x000002aaab2d98b8 in execute_pass_list_1 (pass=0x2aaac493020)
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/passes.c:2554
#5 0x000002aaab2d98ca in execute_pass_list_1 (pass=0x2aaac492480)
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/passes.c:2555
#6 0x000002aaab2d995c in execute_pass_list (fn=<optimized out>,
pass=<optimized out>)
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/passes.c:2565
#7 0x000002aaaaf2a87a in cgraph_node::expand (this=0x3fff72ab000)
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/cgraphunit.c:2038
#8 0x000002aaaaf2c4ca in expand_all_functions ()
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/cgraphunit.c:2174
#9 symbol_table::compile (this=0x3fff7127000)
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/cgraphunit.c:2531
#10 0x000002aaaaf2eb03 in symbol_table::finalize_compilation_unit
(this=0x3fff7127000)
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/cgraphunit.c:2621
#11 0x000002aaab3d9dfb in compile_file ()
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/toplev.c:492
#12 0x000002aaaad4b9c2 in do_compile ()
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/toplev.c:2000
#13 toplev::main (this=0x3ffffffc940, argc=23, argv=0x3ffffffca48)
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/toplev.c:2134
#14 0x000002aaaad4e258 in main (argc=23, argv=0x3ffffffca48)
at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/main.c:39