[Bug tree-optimization/79315] New: ICE while building SPEC CPU 2006 FP with -Ofast -ftree-parallelize-loops
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Feb 1 02:36:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79315
Bug ID: 79315
Summary: ICE while building SPEC CPU 2006 FP with -Ofast
-ftree-parallelize-loops
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
Target: aarch64-linux-gnu
I don't know if this is a GCC 7 regression or not.
Compiling wrf in SPEC CPU 2006 FP with -Ofast -ftree-parallelize-loops
produces an ICE about location references block not in block tree.
Reduced example:
SUBROUTINE wsm32D(t, &
w, &
den, &
p, &
delz, &
its,&
ite, &
kts, &
kte &
)
REAL, DIMENSION( its:ite , kts:kte ), &
INTENT(INOUT) :: &
t
REAL, DIMENSION( ims:ime , kms:kme ), &
INTENT(IN ) :: w, &
den, &
p, &
delz
REAL, DIMENSION( its:ite , kts:kte ) :: &
qs, &
xl, &
work1, &
work2, &
qs0, &
n0sfac
diffus(x,y) = 8.794e-5*x**1.81/y
diffac(a,b,c,d,e) = d*a*a/(xka(c,d)*rv*c*c)+1./(e*diffus(c,b))
venfac(a,b,c) = (viscos(b,c)/diffus(b,a))**(.3333333) &
/viscos(b,c)**(.5)*(den0/c)**0.25
do loop = 1,loops
xa=-dldt/rv
do k = kts, kte
do i = its, ite
tr=ttp/t(i,k)
if(t(i,k).lt.ttp) then
qs(i,k) =psat*(tr**xa)*exp(xb*(1.-tr))
endif
qs0(i,k) =psat*(tr**xa)*exp(xb*(1.-tr))
enddo
do i = its, ite
if(t(i,k).ge.t0c) then
work1(i,k) = diffac(xl(i,k),p(i,k),t(i,k),den(i,k),qs(i,k))
endif
work2(i,k) = venfac(p(i,k),t(i,k),den(i,k))
enddo
enddo
enddo ! big loops
END SUBROUTINE wsm32D
This produces:
t.f90:1:0:
SUBROUTINE wsm32D(t, &
Error: location references block not in block tree
__builtin_powf
_224 = __builtin_powf (_38, 1.809999942779541015625e+0);
t.f90:1:0: Error: location references block not in block tree
__builtin_powf
_229 = __builtin_powf (pretmp_227, 1.809999942779541015625e+0);
t.f90:1:0: internal compiler error: verify_gimple failed
0xc37737 verify_gimple_in_cfg(function*, bool)
../../gcc/gcc/tree-cfg.c:5266
0xb14063 execute_function_todo
../../gcc/gcc/passes.c:1966
0xb151d3 execute_todo
../../gcc/gcc/passes.c:2016
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.
More information about the Gcc-bugs
mailing list