[Bug middle-end/39318] internal compiler error: verify_stmts failed
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Sun Mar 1 10:58:00 GMT 2009
------- Comment #7 from rguenther at suse dot de 2009-03-01 10:58 -------
Subject: Re: internal compiler error: verify_stmts
failed
On Sun, 1 Mar 2009, irar at il dot ibm dot com wrote:
> ------- Comment #6 from irar at il dot ibm dot com 2009-03-01 10:34 -------
> Reduced it a bit more:
>
> subroutine adw_trajsp (F_u,i0,in,j0,jn)
> implicit none
> real F_u(*)
> integer i0,in,j0,jn
> integer n,i,j
> real*8 xsin(i0:in,j0:jn)
> !$omp parallel do private(xsin)
> do j=j0,jn
> do i=i0,in
> xsin(i,j) = sqrt(F_u(n))
> end do
> end do
> !$omp end parallel do
> return
> end
>
> on x86_64-suse-linux with
> gfortran -c -fopenmp -fcray-pointer -fexceptions -O2 -ftree-vectorize.
>
> When we vectorize a function call, we replace the RHS of the stmt with
> "something harmless": D.1692_41 = __builtin_sqrtf (pretmp.45_79); is replaced
> with D.1692_41 = 0.0;. We don't remove the original stmt from the EH table. The
> question is it OK to vectorize function that are in EH table?
Well, we should transfer the EH region information to the vectorized
statement in this case. Which might be tricky ... do we have a link
to the original statement when producing the new one?
Richard.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39318
More information about the Gcc-bugs
mailing list