https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127507
Bug ID: 127507
Summary: [graphlite] ICE: in set_codegen_error, at
graphite-isl-ast-to-gimple.cc:199 during GIMPLE pass:
graphite
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: bouncy12578 at gmail dot com
Target Milestone: ---
Created attachment 65637
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=65637&action=edit
preprocessed file
Known to fail: 17.0.0 20260918 with/without --enable-checking=all
Known to work: gcc 16.2 without --enable-checking=all
Compiler Explorer: https://godbolt.org/z/6jWMndaTs
Compiler version:
Target: x86_64-pc-linux-gnu
Configured with: ../gcc/configure
--prefix=/data/lenovo/compiler-build/gcc/gcc-install --disable-bootstrap
--enable-languages=c,c++ --disable-multilib --with-isl --enable-checking=all :
(reconfigured) ../gcc/configure
--prefix=/data/lenovo/compiler-build/gcc/gcc-install --disable-bootstrap
--enable-languages=c,c++ --disable-multilib --with-isl --enable-checking=all
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 17.0.0 20260918 (experimental) (GCC)
Command line used:
gcc -O3 -fgraphite-identity crash.c
Code to reproduce:
signed char a = -78;
signed char b = -19;
long long int c;
unsigned short d[5];
unsigned char e[17][17];
void f() {
for (int k = 0; k < 5; ++k) {
for (unsigned long long int l = 0; l < 17; l += 4) {
if (!(a == -78)) __builtin_unreachable();
for (signed char m = ((int) a + 79); m < 14; m += 3) {
d[k] = b;
c -= b;
}
}
}
for (int n = 0; n < 8; ++n) {
e[n][n] = 9;
}
}
Compiler output:
during GIMPLE pass: graphite
crash.c: In function 'f':
crash.c:7:6: internal compiler error: in set_codegen_error, at
graphite-isl-ast-to-gimple.cc:199
7 | void f() {
| ^
0x2cae82b internal_error(char const*, ...)
../../gcc/gcc/diagnostic-global-context.cc:787
0xd089fb fancy_abort(char const*, int, char const*)
../../gcc/gcc/diagnostics/context.cc:1813
0xccc86c translate_isl_ast_to_gimple::set_codegen_error()
../../gcc/gcc/graphite-isl-ast-to-gimple.cc:199
0xccccae translate_isl_ast_to_gimple::set_codegen_error()
../../gcc/gcc/tree.h:3977
0xccccae translate_isl_ast_to_gimple::get_rename_from_scev(tree_node*,
gimple**, loop*, vec<tree_node*, va_heap, vl_ptr>)
../../gcc/gcc/graphite-isl-ast-to-gimple.cc:1094
0x2aae149
translate_isl_ast_to_gimple::copy_bb_and_scalar_dependences(basic_block_def*,
edge_def*, vec<tree_node*, va_heap, vl_ptr>)
../../gcc/gcc/graphite-isl-ast-to-gimple.cc:1303
0x2aae510
translate_isl_ast_to_gimple::translate_isl_ast_node_user(isl_ast_node*,
edge_def*, hash_map<isl_id*, tree_node*,
simple_hashmap_traits<default_hash_traits<isl_id*>, tree_node*> >&)
../../gcc/gcc/graphite-isl-ast-to-gimple.cc:821
0x2aae799 translate_isl_ast_to_gimple::translate_isl_ast_for_loop(loop*,
isl_ast_node*, edge_def*, tree_node*, tree_node*, tree_node*, hash_map<isl_id*,
tree_node*, simple_hashmap_traits<default_hash_traits<isl_id*>, tree_node*> >&)
../../gcc/gcc/graphite-isl-ast-to-gimple.cc:614
0x2aaea6e translate_isl_ast_to_gimple::translate_isl_ast_node_for(loop*,
isl_ast_node*, edge_def*, hash_map<isl_id*, tree_node*,
simple_hashmap_traits<default_hash_traits<isl_id*>, tree_node*> >&)
../../gcc/gcc/graphite-isl-ast-to-gimple.cc:742
0x2aaebad translate_isl_ast_to_gimple::translate_isl_ast_node_block(loop*,
isl_ast_node*, edge_def*, hash_map<isl_id*, tree_node*,
simple_hashmap_traits<default_hash_traits<isl_id*>, tree_node*> >&)
../../gcc/gcc/graphite-isl-ast-to-gimple.cc:850
0x2aaefd6 graphite_regenerate_ast_isl(scop*)
../../gcc/gcc/graphite-isl-ast-to-gimple.cc:1502
0x2aa946c graphite_transform_loops()
../../gcc/gcc/graphite.cc:474
0x2aaa4f4 graphite_transforms
../../gcc/gcc/graphite.cc:541
0x2aaa4f4 execute
../../gcc/gcc/graphite.cc:620
/data/lenovo/compiler-build/gcc/gcc-install/libexec/gcc/x86_64-pc-linux-gnu/17.0.0/cc1
-quiet -imultiarch x86_64-linux-gnu crash.c -quiet -dumpdir a- -dumpbase
crash.c -dumpbase-ext .c -mtune=generic -march=x86-64 -O3 -fgraphite-identity
-o /tmp/ccvzMxKK.s
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.