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.

Reply via email to