https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83337
Bug ID: 83337 Summary: ICE at -O3 x86_64-linux-gnu: in interpret_rhs_expr, at tree-scalar-evolution.c:1775 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: su at cs dot ucdavis.edu Target Milestone: --- This appears to be a very recent regression. $ gcctk -v Using built-in specs. COLLECT_GCC=gcctk COLLECT_LTO_WRAPPER=/home/su/software/tmp/gcc/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/8.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-source-trunk/configure --enable-languages=c,c++,lto --prefix=/home/su/software/tmp/gcc/gcc-trunk --disable-bootstrap Thread model: posix gcc version 8.0.0 20171208 (experimental) [trunk revision 255516] (GCC) $ $ gcctk -O2 -c small.c $ gcc-7.2.0 -O3 -c small.c $ $ gcctk -O3 -c small.c during GIMPLE pass: linterchange small.c: In function ājā: small.c:9:6: internal compiler error: in interpret_rhs_expr, at tree-scalar-evolution.c:1775 void j () ^ 0xd6d776 interpret_rhs_expr ../../gcc-source-trunk/gcc/tree-scalar-evolution.c:1775 0xd69ac7 interpret_expr ../../gcc-source-trunk/gcc/tree-scalar-evolution.c:1991 0xd69ac7 analyze_scalar_evolution_1 ../../gcc-source-trunk/gcc/tree-scalar-evolution.c:2026 0xd6a741 analyze_scalar_evolution(loop*, tree_node*) ../../gcc-source-trunk/gcc/tree-scalar-evolution.c:2113 0x13df932 compute_access_stride ../../gcc-source-trunk/gcc/gimple-loop-interchange.cc:1295 0x13df932 compute_access_strides ../../gcc-source-trunk/gcc/gimple-loop-interchange.cc:1341 0x13df932 prepare_perfect_loop_nest ../../gcc-source-trunk/gcc/gimple-loop-interchange.cc:1963 0x13df932 execute ../../gcc-source-trunk/gcc/gimple-loop-interchange.cc:2022 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. $ ------------------------------------ struct A { int b:7; int c:7; } d[2]; int e, h; void j () { for (h = 0; h < 2; h++) for (e = 0; e < 2; e++) { struct A l = { 0, 0 }; d[e] = l; } }