https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83089
Bug ID: 83089 Summary: [8 Regression] ICE: Segmentation fault (in instantiate_scev_name) Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- gcc-8.0.0-alpha20171119 snapshot (r254939) ICEs when compiling the following snippet w/ -O2 (-O3, -Ofast) -ftree-loop-if-convert -ftree-parallelize-loops=2: int rl, s8; void it (int zy, short int el) { int hb; while (el != 0) { hb = el; for (rl = 0; rl < 200; ++rl) { for (s8 = 0; s8 < 2; ++s8) { } if (s8 < 3) zy = hb; if (hb == 0) ++s8; zy += (s8 != -1); } el = zy; } } % gcc-8.0.0-alpha20171119 -O2 -ftree-loop-if-convert -ftree-parallelize-loops=2 -c harzrp6v.c during GIMPLE pass: cunroll harzrp6v.c: In function 'it': harzrp6v.c:4:1: internal compiler error: Segmentation fault it (int zy, short int el) ^~ 0xc6c84f crash_signal /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/toplev.c:325 0xd1ce15 tree_check(tree_node*, char const*, int, char const*, tree_code) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree.h:3089 0xd1ce15 instantiate_scev_name /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree-scalar-evolution.c:2359 0xd1dae5 instantiate_scev_convert /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree-scalar-evolution.c:2611 0xd1d36f instantiate_scev_r /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree-scalar-evolution.c:2746 0xd1dd1f resolve_mixers(loop*, tree_node*, bool*) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree-scalar-evolution.c:2842 0xd1fe88 analyze_scalar_evolution_in_loop /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree-scalar-evolution.c:2210 0xd1ff95 simple_iv_with_niters(loop*, loop*, tree_node*, affine_iv*, tree_node**, bool) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree-scalar-evolution.c:3325 0xd857d4 number_of_iterations_exit_assumptions(loop*, edge_def*, tree_niter_desc*, gcond**, bool) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree-ssa-loop-niter.c:2358 0xd85b81 number_of_iterations_exit_assumptions(loop*, edge_def*, tree_niter_desc*, gcond**, bool) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree-ssa-loop-niter.c:2455 0xd85b81 number_of_iterations_exit(loop*, edge_def*, tree_niter_desc*, bool, bool) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree-ssa-loop-niter.c:2442 0xd1ba7d number_of_latch_executions(loop*) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree-scalar-evolution.c:2902 0xd875df estimate_numbers_of_iterations(loop*) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree-ssa-loop-niter.c:3914 0xd87d27 estimate_numbers_of_iterations(function*) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree-ssa-loop-niter.c:4149 0xd67a51 tree_unroll_loops_completely(bool, bool) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree-ssa-loop-ivcanon.c:1367 0xd67d0d execute /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171119/work/gcc-8-20171119/gcc/tree-ssa-loop-ivcanon.c:1525