https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68550
Bug ID: 68550 Summary: [6 Regression] ICE: verify_gimple failed Error: missing PHI def Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: Joost.VandeVondele at mat dot ethz.ch Target Milestone: --- graphite-triggered ICE in current trunk. > cat bug.f90 SUBROUTINE integrate_core_1(grid,coef_xyz,pol_x,pol_y,& pol_z,map,sphere_bounds,cmax,gridbounds) INTEGER, PARAMETER :: dp=8 INTEGER, INTENT(IN) :: sphere_bounds(*), cmax, & map(-cmax:cmax,1:3), & gridbounds(2,3) REAL(dp), INTENT(IN) :: grid(gridbounds(1,1):gridbounds(2,1), & gridbounds(1,2):gridbounds(2,2),& gridbounds(1,3):gridbounds(2,3)) INTEGER, PARAMETER :: lp = 1 REAL(dp), INTENT(IN) :: pol_x(0:lp,-cmax:cmax), & pol_y(1:2,0:lp,-cmax:0), & pol_z(1:2,0:lp,-cmax:0) REAL(dp), INTENT(OUT) :: coef_xyz(((lp+1)*(lp+2)*(lp+3))/6) INTEGER :: i, ig, igmax, igmin, j, j2, & jg, jg2, jgmin, k, k2, kg, & kg2, kgmin, lxp, sci REAL(dp) :: coef_x(4,0:lp), & coef_xy(2,((lp+1)*(lp+2))/2), & s(4) DO kg=kgmin,0 DO jg=jgmin,0 coef_x=0.0_dp DO ig=igmin,igmax DO lxp=0,lp coef_x(:,lxp)=coef_x(:,lxp)+s(:)*pol_x(lxp,ig) ENDDO END DO coef_xy(:,3)=coef_xy(:,3)+coef_x(3:4,0)*pol_y(2,1,jg) END DO coef_xyz(3)=coef_xyz(3)+coef_xy(1,3)*pol_z(1,0,kg) END DO END SUBROUTINE integrate_core_1 > gfortran -c -O2 -floop-nest-optimize bug.f90 bug.f90:1:0: SUBROUTINE integrate_core_1(grid,coef_xyz,pol_x,pol_y,& Error: missing PHI def bug.f90:1:0: Error: missing PHI def prephitmp_133 = PHI <(8), (16)> bug.f90:1:0: internal compiler error: verify_gimple failed 0xbab969 verify_gimple_in_cfg(function*, bool) ../../gcc/gcc/tree-cfg.c:5082 0xa92b8c execute_function_todo ../../gcc/gcc/passes.c:1958 0xa9361b execute_todo ../../gcc/gcc/passes.c:2010 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. > gfortran -v Using built-in specs. COLLECT_GCC=gfortran COLLECT_LTO_WRAPPER=/data/vjoost/gnu/gcc_trunk/install/libexec/gcc/x86_64-pc-linux-gnu/6.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc/configure --prefix=/data/vjoost/gnu/gcc_trunk/install --enable-languages=c,c++,fortran --disable-multilib --enable-plugins --enable-lto --disable-bootstrap Thread model: posix gcc version 6.0.0 20151126 (experimental) [trunk revision 230923] (GCC)