https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90866
Bug ID: 90866 Summary: [10 Regression] ICE in fold_binary_loc, at fold-const.c:9827 since r272197 Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: msebor at gcc dot gnu.org Target Milestone: --- Following is causing ICE: $ cat ~/Programming/testcases/slp.i int a[1024], b[1024]; void fn1() { int i = 0; for (;; i++) { b[16] = a[i * 16 + 10]; b[i * 16 + 11] = a[i * 16 + 11] * 3; b[i * 16 + 12] = a[i * 16 + 12] * 4; b[i * 16 + 13] = a[i * 16 + 13] * 4; b[i * 16 + 14] = a[i * 16 + 14] * 3; } } $ ./xgcc -B. -fno-tree-loop-optimize -O3 ~/Programming/testcases/slp.i during GIMPLE pass: strlen /home/marxin/Programming/testcases/slp.i: In function ‘fn1’: /home/marxin/Programming/testcases/slp.i:4:1: internal compiler error: in fold_binary_loc, at fold-const.c:9827 4 | fn1() { | ^~~ 0xc9487c fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*, tree_node*) /home/marxin/Programming/gcc/gcc/fold-const.c:9827 0xca00d8 fold_build2_loc(unsigned int, tree_code, tree_node*, tree_node*, tree_node*) /home/marxin/Programming/gcc/gcc/fold-const.c:12338 0x144ddd1 get_stridx /home/marxin/Programming/gcc/gcc/tree-ssa-strlen.c:327 0x1456bc1 handle_pointer_plus /home/marxin/Programming/gcc/gcc/tree-ssa-strlen.c:3216 0x14584bb strlen_check_and_optimize_stmt /home/marxin/Programming/gcc/gcc/tree-ssa-strlen.c:3725 0x14597db strlen_dom_walker::before_dom_children(basic_block_def*) /home/marxin/Programming/gcc/gcc/tree-ssa-strlen.c:4009 0x1e6bae2 dom_walker::walk(basic_block_def*) /home/marxin/Programming/gcc/gcc/domwalk.c:312 0x1459a70 execute /home/marxin/Programming/gcc/gcc/tree-ssa-strlen.c:4089