https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95649
Bug ID: 95649
Summary: ICE during GIMPLE pass: cunroll
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: vsevolod.livinskij at frtk dot ru
Target Milestone: ---
Error:
>$ g++ -O2 -c func.cpp
during GIMPLE pass: cunroll
func.cpp: In function ‘void test()’:
func.cpp:4:6: internal compiler error: Segmentation fault
4 | void test() {
| ^~~~
0x1102483 crash_signal
gcc/toplev.c:328
0x1b58f3b loop_containing_stmt
gcc/tree-ssa-loop.h:76
0x1b58f3b chrec_contains_symbols_defined_in_loop
gcc/tree-chrec.c:1009
0x1b59248 chrec_contains_symbols_defined_in_loop
gcc/tree-chrec.c:1026
0x1b59248 chrec_contains_symbols_defined_in_loop
gcc/tree-chrec.c:1026
0x1b59248 chrec_contains_symbols_defined_in_loop
gcc/tree-chrec.c:1026
0x1b593cb chrec_contains_symbols_defined_in_loop(tree_node const*, unsigned
int)
gcc/tree-chrec.c:1039
0x11dfff3 compute_overall_effect_of_inner_loop(loop*, tree_node*)
gcc/tree-scalar-evolution.c:473
0x11dfff3 compute_overall_effect_of_inner_loop(loop*, tree_node*)
gcc/tree-scalar-evolution.c:447
0x11de08c analyze_scalar_evolution_1
gcc/tree-scalar-evolution.c:1960
0x11deb9d analyze_scalar_evolution(loop*, tree_node*)
gcc/tree-scalar-evolution.c:2038
0x11df04f instantiate_scev_name
gcc/tree-scalar-evolution.c:2335
0x11df04f instantiate_scev_r
gcc/tree-scalar-evolution.c:2636
0x11df1ca instantiate_scev_binary
gcc/tree-scalar-evolution.c:2466
0x11df1ca instantiate_scev_r
gcc/tree-scalar-evolution.c:2649
0x11ded9e instantiate_scev_poly
gcc/tree-scalar-evolution.c:2409
0x11ded9e instantiate_scev_r
gcc/tree-scalar-evolution.c:2641
0x11dfde5 instantiate_scev(edge_def*, loop*, tree_node*)
gcc/tree-scalar-evolution.c:2718
0x127743a instantiate_parameters
gcc/tree-scalar-evolution.h:63
0x127743a idx_infer_loop_bounds
gcc/tree-ssa-loop-niter.c:3612
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Reproducer:
extern unsigned short var_5;
extern int var_8, var_9;
extern short arr_7[];
void test() {
for (; 0 < (char)var_5;)
for (int a(var_9 ? var_5 : 0); a < 3002972621U + 1291994699;
a += 19499 - 19497)
for (long b(var_8); b; b += 4)
arr_7[a * b] = 0;
}
GCC version:
11.0.0 (87af4f40453a9c84363bde5d9a58466de7fbee2e)