https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127058
Bug ID: 127058
Summary: [17 Regression] vectorizer aborts during slp free
since r17-3598-gacc81fdd59f
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: tnfchris at gcc dot gnu.org
CC: rguenth at gcc dot gnu.org
Target Milestone: ---
Target: aarch64*
The testcase
MODULE a
integer, parameter :: b = selected_real_kind(12)
integer, parameter :: d = 10
real(b) e(1,d)
CONTAINS
SUBROUTINE f(ime ,jme)
REAL, DIMENSION( ime,d,jme ) :: g
INTEGER C
DO h = jts,jte
DO l = its,aa
if (m.eq.1) THEN
do c = 1,ab
do k = 1,d
e(c,k) = g(i,k,j)
enddo
enddo
endif
end do
end do
end
end
compiled with gfortran -Ofast -mcpu=neoverse-v1
ICEs with
internal compiler error: Aborted
0x21b4d03 internal_error(char const*, ...)
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/diagnostic-global-context.cc:787
0xf9bd5f crash_signal
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/toplev.cc:325
0xffffa83b8d78 __GI_raise
../sysdeps/unix/sysv/linux/raise.c:51
0xffffa83a5aab __GI_abort
/build/glibc-hV2QTJ/glibc-2.31/stdlib/abort.c:79
0xffffa83f2f3f __libc_message
../sysdeps/posix/libc_fatal.c:155
0xffffa83fa343 malloc_printerr
/build/glibc-hV2QTJ/glibc-2.31/malloc/malloc.c:5347
0xffffa83fbbf7 _int_free
/build/glibc-hV2QTJ/glibc-2.31/malloc/malloc.c:4249
0x12777cb void va_heap::release<tree_node*>(vec<tree_node*, va_heap,
vl_embed>*&)
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/vec.h:347
0x12777cb vec<tree_node*, va_heap, vl_ptr>::release()
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/vec.h:2038
0x12777cb _slp_tree::~_slp_tree()
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-slp.cc:154
0x12792af vect_free_slp_tree(_slp_tree*)
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-slp.cc:192
0x1279297 vect_free_slp_tree(_slp_tree*)
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-slp.cc:190
0x1279517 vect_free_slp_tree(_slp_tree*)
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-slp.cc:185
0x1279517 vect_free_slp_instance(_slp_instance*)
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-slp.cc:212
0x12a6257 vec_info::~vec_info()
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vectorizer.cc:481
0x12990c7 vect_slp_region
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-slp.cc:10537
0x129b2bb vect_slp_bbs
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-slp.cc:10609
0x129b593 vect_slp_function(function*)
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-slp.cc:10731
0x12a4b2f execute
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vectorizer.cc:1573
since
commit g:acc81fdd59f3c91123b57f165a56d75810886317
Author: Richard Biener
Do not use nunits_vectype to decide on BB vect unrolling
This breaks WRF in SPECCPU 2017.