https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93134

            Bug ID: 93134
           Summary: [graphite] ICE: Segmentation fault in ISL
           Product: gcc
           Version: 9.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: drfiemost at email dot it
  Target Milestone: ---

Getting a crash with snapshots gcc-9-20191221/gcc-8-20191220 and isl-0.22 on
x86_64-linux compiling the following reduced code using "-O2 -floop-block"
flags:

typedef struct {
  int a[128]
} b;
b c;
d, e, f, g;
h() {
  int i;
  for (; g < e; g++) {
    i = 1;
    for (; i < d; i++)
      c.a[f + i * 16 + g] = c.a[6 + g];
  }
}



root [ /mnt/devel/build/gcc/gcc-9-20191221/build ]# LANG=C gcc/cc1 -O2
-floop-block /usr/src/gcc_ice.c            
/usr/src/gcc_ice.c:3:1: warning: no semicolon at end of struct or union
    3 | } b;
      | ^
/usr/src/gcc_ice.c:5:1: warning: data definition has no type or storage class
    5 | d, e, f, g;
      | ^
/usr/src/gcc_ice.c:5:1: warning: type defaults to 'int' in declaration of 'd'
[-Wimplicit-int]
/usr/src/gcc_ice.c:5:4: warning: type defaults to 'int' in declaration of 'e'
[-Wimplicit-int]
    5 | d, e, f, g;
      |    ^
/usr/src/gcc_ice.c:5:7: warning: type defaults to 'int' in declaration of 'f'
[-Wimplicit-int]
    5 | d, e, f, g;
      |       ^
/usr/src/gcc_ice.c:5:10: warning: type defaults to 'int' in declaration of 'g'
[-Wimplicit-int]
    5 | d, e, f, g;
      |          ^
 h
/usr/src/gcc_ice.c:6:1: warning: return type defaults to 'int' [-Wimplicit-int]
    6 | h() {
      | ^

Analyzing compilation unit
Performing interprocedural optimizations
 <*free_lang_data> <visibility> <build_ssa_passes> <opt_local_passes>
<remove_symbols> <targetclone> <free-fnsummary>Streaming LTO
 <whole-program> <profile_estimate> <icf> <devirt> <cp> <fnsummary> <inline>
<pure-const> <free-fnsummary> <static-var> <single-use> <comdats>Assembling
functions:
 <materialize-all-clones> <simdclone> hduring GIMPLE pass: graphite

/usr/src/gcc_ice.c: In function 'h':
/usr/src/gcc_ice.c:6:1: internal compiler error: Segmentation fault
0x1128de4 crash_signal
        ../../gcc/toplev.c:326
0x7f9145e857bf ???
       
/mnt/devel/build/glibc/glibc-2.30/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x21433a8 isl_basic_map_underlying_set
        ../../isl/isl_map.c:5515
0x20ec8ea equalities_in_underlying_set
        ../../isl/isl_affine_hull.c:860
0x20ecae4 isl_basic_map_detect_equalities
        ../../isl/isl_affine_hull.c:919
0x20ecc9b isl_basic_set_detect_equalities
        ../../isl/isl_affine_hull.c:952
0x21611ff uset_gist
        ../../isl/isl_map_simplify.c:2702
0x2162008 isl_basic_map_gist
        ../../isl/isl_map_simplify.c:3176
0x21622d1 isl_map_gist_basic_map
        ../../isl/isl_map_simplify.c:3234
0x2162dca map_gist
        ../../isl/isl_map_simplify.c:3601
0x2139072 isl_map_align_params_map_map_and
        ../../isl/isl_map.c:1531
0x2162e20 isl_map_gist
        ../../isl/isl_map_simplify.c:3611
0x2162ffe isl_map_gist_domain
        ../../isl/isl_map_simplify.c:3661
0x21ed605 bin_add_pair
        ../../isl/isl_union_map.c:872
0x21ed88e gen_bin_entry
        ../../isl/isl_union_map.c:957
0x2125f7e isl_hash_table_foreach
        ../../isl/isl_hash.c:207
0x21ed985 gen_bin_op
        ../../isl/isl_union_map.c:982
0x21ee560 union_map_gist_domain
        ../../isl/isl_union_map.c:1390
0x21ee5aa isl_union_map_gist_domain
        ../../isl/isl_union_map.c:1403
0x1e77f5a optimize_isl
        ../../gcc/graphite-optimize-isl.c:128
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.



The original non-reduced code crashes only on gcc 9 with the same backtrace and
not on gcc 8, can add the preprocessed source if required.
Maybe related to bug 90004

Reply via email to