https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88758
--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
What about this:
$ cat 11.i
void PreEvaluate(void);
int main() { PreEvaluate(); return 0; }
$ cat 22.i
cat 22.i
extern int a[];
int b;
int c;
void PreEvaluate(void) {
b = 0;
for (; b < 8; b++)
a[b] = c * (b > 0 ? b - 1 : 0);
}
$ gcc-8 11.i 22.i -flto -O3 -shared -fPIC
$ gcc 11.i 22.i -flto -O3 -shared -fPIC
during GIMPLE pass: dom
22.i: In function ‘PreEvaluate’:
22.i:5:6: internal compiler error: Segmentation fault
5 | void PreEvaluate(void) {
| ^
0xc186df crash_signal
/home/marxin/Programming/gcc/gcc/toplev.c:326
0x7ffff6d8910f ???
/usr/src/debug/glibc-2.27-6.1.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0xeb6184 location_wrapper_p(tree_node const*)
/home/marxin/Programming/gcc/gcc/tree.h:3807
0xeb6184 tree_strip_any_location_wrapper(tree_node*)
/home/marxin/Programming/gcc/gcc/tree.h:3819
0xeb6184 initializer_each_zero_or_onep(tree_node const*)
/home/marxin/Programming/gcc/gcc/tree.c:11239
0xeb6264 initializer_each_zero_or_onep(tree_node const*)
/home/marxin/Programming/gcc/gcc/tree.c:11259
0x1083fcf gimple_simplify_MULT_EXPR
/dev/shm/objdir/gcc/gimple-match.c:47953
0xfa636f gimple_simplify
/dev/shm/objdir/gcc/gimple-match.c:90161
0xfa79a3 gimple_resimplify2(gimple**, gimple_match_op*, tree_node*
(*)(tree_node*))
/home/marxin/Programming/gcc/gcc/gimple-match-head.c:285
0x10bb1df gimple_simplify(gimple*, gimple_match_op*, gimple**, tree_node*
(*)(tree_node*), tree_node* (*)(tree_node*))
/home/marxin/Programming/gcc/gcc/gimple-match-head.c:895
0x98f334 fold_stmt_1
/home/marxin/Programming/gcc/gcc/gimple-fold.c:4934
0xd2c566 dom_opt_dom_walker::optimize_stmt(basic_block_def*,
gimple_stmt_iterator)
/home/marxin/Programming/gcc/gcc/tree-ssa-dom.c:1967
0xd2db2c dom_opt_dom_walker::before_dom_children(basic_block_def*)
/home/marxin/Programming/gcc/gcc/tree-ssa-dom.c:1468
0x13fd3a7 dom_walker::walk(basic_block_def*)
/home/marxin/Programming/gcc/gcc/domwalk.c:353
0xd2e99d execute
/home/marxin/Programming/gcc/gcc/tree-ssa-dom.c:706