https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123314
Bug ID: 123314
Summary: ICE during GIMPLE pass prefill_stmt_dependencies, at
gimple-range.cc:392
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: rvismith1115 at gmail dot com
Target Milestone: ---
The test case is reduced by C-Reduce.
Code link: https://godbolt.org/z/47KzPed3K
Reproducer:
extern char a[];
extern short b[], c[];
extern int h[];
void i() {
for (char d;;)
for (int e = 0; e < 9; e++) {
for (int f; f < 9; f += 4)
c[d] = 0;
for (int g = 0; g < 9; g += 3)
h[1 + d] = (a[d] ? a[3] : 7 ? b[7] : 0) / 6;
}
}
$ riscv64-unknown-elf-g++ -O3 -march=rv64gcv_zvfh func.cpp
during GIMPLE pass: vect
func.cpp: In function 'void i()':
func.cpp:4:6: internal compiler error: in prefill_stmt_dependencies, at
gimple-range.cc:392
4 | void i() {
| ^
0x3362f4b internal_error(char const*, ...)
/home/riscv-files/gcc-16-20251123/gcc/diagnostic-global-context.cc:787
0xe647d5 fancy_abort(char const*, int, char const*)
/home/riscv-files/gcc-16-20251123/gcc/diagnostics/context.cc:1805
0xc7ee5b gimple_ranger::prefill_stmt_dependencies(tree_node*)
/home/riscv-files/gcc-16-20251123/gcc/gimple-range.cc:392
0x14be432 gimple_ranger::range_of_stmt(vrange&, gimple*, tree_node*)
/home/riscv-files/gcc-16-20251123/gcc/gimple-range.cc:339
0x14bc998 gimple_ranger::range_on_entry(vrange&, basic_block_def*, tree_node*)
/home/riscv-files/gcc-16-20251123/gcc/gimple-range.cc:171
0x14bfc3d gimple_ranger::range_of_expr(vrange&, tree_node*, gimple*)
/home/riscv-files/gcc-16-20251123/gcc/gimple-range.cc:146
0x14d00c8 fold_using_range::range_of_range_op(vrange&,
gimple_range_op_handler&, fur_source&)
/home/riscv-files/gcc-16-20251123/gcc/gimple-range-fold.cc:731
0x14d27c2 fold_using_range::fold_stmt(vrange&, gimple*, fur_source&,
tree_node*)
/home/riscv-files/gcc-16-20251123/gcc/gimple-range-fold.cc:662
0x14be229 gimple_ranger::fold_range_internal(vrange&, gimple*, tree_node*)
/home/riscv-files/gcc-16-20251123/gcc/gimple-range.cc:282
0x14be229 gimple_ranger::range_of_stmt(vrange&, gimple*, tree_node*)
/home/riscv-files/gcc-16-20251123/gcc/gimple-range.cc:343
0x14bff68 gimple_ranger::range_of_expr(vrange&, tree_node*, gimple*)
/home/riscv-files/gcc-16-20251123/gcc/gimple-range.cc:142
0x14cd844 fold_using_range::range_of_cond_expr(vrange&, gassign*, fur_source&)
/home/riscv-files/gcc-16-20251123/gcc/gimple-range-fold.cc:1214
0x14d29a1 fold_using_range::fold_stmt(vrange&, gimple*, fur_source&,
tree_node*)
/home/riscv-files/gcc-16-20251123/gcc/gimple-range-fold.cc:668
0x14be229 gimple_ranger::fold_range_internal(vrange&, gimple*, tree_node*)
/home/riscv-files/gcc-16-20251123/gcc/gimple-range.cc:282
0x14be229 gimple_ranger::range_of_stmt(vrange&, gimple*, tree_node*)
/home/riscv-files/gcc-16-20251123/gcc/gimple-range.cc:343
0x14bfde3 gimple_ranger::range_of_expr(vrange&, tree_node*, gimple*)
/home/riscv-files/gcc-16-20251123/gcc/gimple-range.cc:112
0x3245fc6 vect_recog_divmod_pattern
/home/riscv-files/gcc-16-20251123/gcc/tree-vect-patterns.cc:5634
0x32408f2 vect_pattern_recog_1
/home/riscv-files/gcc-16-20251123/gcc/tree-vect-patterns.cc:7629
0x3240964 vect_pattern_recog_1
/home/riscv-files/gcc-16-20251123/gcc/tree-vect-patterns.cc:7623
0x32452c1 vect_pattern_recog(vec_info*)
/home/riscv-files/gcc-16-20251123/gcc/tree-vect-patterns.cc:7750
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.