[Bug tree-optimization/31762] New: ICE in tree-dfa.c:791 with -ftree-loop-linear (and -O1 -ffast-math)
jb at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sun Apr 29 17:23:00 GMT 2007
When compiling the testcase below (reduced from the air benchmark of the
polyhedron benchmark suite) with "gfortran air-fvsplty2.f90 -ftree-loop-linea
r -O1 -ffast-math -c" there is an ICE, backtrace:
Program received signal SIGSEGV, Segmentation fault.
remove_referenced_var (var=0xb7cee284) at ../../trunk/gcc/tree-dfa.c:791
791 ggc_free (*loc);
(gdb) bt
#0 remove_referenced_var (var=0xb7cee284) at ../../trunk/gcc/tree-dfa.c:791
#1 0x083d7449 in remove_unused_locals ()
at ../../trunk/gcc/tree-ssa-live.c:518
#2 0x0828b5cc in execute_function_todo (data=0x4003)
at ../../trunk/gcc/passes.c:865
#3 0x0828b2ac in do_per_function (callback=0x828b400 <execute_function_todo>,
data=0x4003) at ../../trunk/gcc/passes.c:757
#4 0x0828b373 in execute_todo (flags=16387) at ../../trunk/gcc/passes.c:935
#5 0x0828b85b in execute_one_pass (pass=0x87dae00)
at ../../trunk/gcc/passes.c:1080
#6 0x0828ba07 in execute_pass_list (pass=0x87dae00)
at ../../trunk/gcc/passes.c:1110
#7 0x0828ba1a in execute_pass_list (pass=0x87dac00)
at ../../trunk/gcc/passes.c:1111
#8 0x0836dc49 in tree_rest_of_compilation (fndecl=0xb7cd1c80)
at ../../trunk/gcc/tree-optimize.c:406
#9 0x084db561 in cgraph_expand_function (node=0xb7cd1d80)
at ../../trunk/gcc/cgraphunit.c:1016
#10 0x084dd966 in cgraph_optimize () at ../../trunk/gcc/cgraphunit.c:1085
#11 0x080ad55f in gfc_be_parse_file (set_yydebug=0)
at ../../trunk/gcc/fortran/f95-lang.c:309
#12 0x0830a683 in toplev_main (argc=16, argv=0xbfa0bec4)
at ../../trunk/gcc/toplev.c:1051
#13 0x080f05e2 in main (argc=Cannot access memory at address 0x8
) at ../../trunk/gcc/main.c:35
Here is the (partially reduced) testcase:
SUBROUTINE FVSPLTY2
PARAMETER (NX=150,NY=150)
DIMENSION DY(NX,33) , ALY(30) , NPY(30)
DIMENSION GP1(NX,NY) , GM1(NX,NY) , GP1y(30,NY) , GM1y(30,NY)
DIMENSION GP2(NX,NY) , GM2(NX,NY) , GP2y(30,NY) , GM2y(30,NY)
DIMENSION GP3(NX,NY) , GM3(NX,NY) , GP3y(30,NY) , GM3y(30,NY)
DIMENSION GP4(NX,NY) , GM4(NX,NY) , GP4y(30,NY) , GM4y(30,NY)
DIMENSION GV2(NX,NY) , DYP2(30,NY) , DYM2(30,NY)
DIMENSION GV3(NX,NY) , DYP3(30,NY) , DYM3(30,NY)
DIMENSION GV4(NX,NY) , DYP4(30,NY) , DYM4(30,NY)
COMMON /YD1 / GP1 , GM1 , GP2 , GM2 , GP3 , GM3 , GP4 , GM4 , &
& GP1y , GM1y , GP2y , GM2y , GP3y , GM3y , GP4y , &
& GM4y , GV2 , GV3 , GV4 , DYP2 , DYM2 , DYP3 , &
& DYM3 , DYP4 , DYM4 , DY , NPY , ALY , NDY , MXPx
DO jk = 1 , MXPx
jmax = 0
jmin = 1
DO i = 1 , NDY
jmax = jmax + NPY(i) + 1
!
! INITIALIZE
!
GP1y(i,jk) = 0.
GM1y(i,jk) = 0.
GP2y(i,jk) = 0.
GM2y(i,jk) = 0.
GP3y(i,jk) = 0.
GM3y(i,jk) = 0.
GP4y(i,jk) = 0.
GM4y(i,jk) = 0.
DYP2(i,jk) = 0.
DYM2(i,jk) = 0.
DYP3(i,jk) = 0.
DYM3(i,jk) = 0.
DYP4(i,jk) = 0.
DYM4(i,jk) = 0.
DO k = 0 , NPY(i)
GP1y(i,jk) = GP1y(i,jk) + DY(jmax,k+1)*GP1(jk,ik)
GM1y(i,jk) = GM1y(i,jk) + DY(jmin,k+1)*GM1(jk,ik)
GP2y(i,jk) = GP2y(i,jk) + DY(jmax,k+1)*GP2(jk,ik)
GM2y(i,jk) = GM2y(i,jk) + DY(jmin,k+1)*GM2(jk,ik)
GM3y(i,jk) = GM3y(i,jk) + DY(jmin,k+1)*GM3(jk,ik)
GP4y(i,jk) = GP4y(i,jk) + DY(jmax,k+1)*GP4(jk,ik)
GM4y(i,jk) = GM4y(i,jk) + DY(jmin,k+1)*GM4(jk,ik)
ENDDO
GP1y(i,jk) = GP1y(i,jk)*ALY(i)
GM1y(i,jk) = GM1y(i,jk)*ALY(i)
GP2y(i,jk) = GP2y(i,jk)*ALY(i)
GM2y(i,jk) = GM2y(i,jk)*ALY(i)
GP3y(i,jk) = GP3y(i,jk)*ALY(i)
GM3y(i,jk) = GM3y(i,jk)*ALY(i)
GP4y(i,jk) = GP4y(i,jk)*ALY(i)
GM4y(i,jk) = GM4y(i,jk)*ALY(i)
DYP2(i,jk) = DYP2(i,jk)*ALY(i)
DYM2(i,jk) = DYM2(i,jk)*ALY(i)
DYP3(i,jk) = DYP3(i,jk)*ALY(i)
DYM3(i,jk) = DYM3(i,jk)*ALY(i)
DYP4(i,jk) = DYP4(i,jk)*ALY(i)
DYM4(i,jk) = DYM4(i,jk)*ALY(i)
jmin = jmin + NPY(i) + 1
ENDDO
ENDDO
END
Compiler version: gcc version 4.3.0 20070429 (experimental)
--
Summary: ICE in tree-dfa.c:791 with -ftree-loop-linear (and -O1 -
ffast-math)
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jb at gcc dot gnu dot org
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31762
More information about the Gcc-bugs
mailing list