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