Commit f30a1190 by Richard Biener Committed by Richard Biener

re PR fortran/80494 (ICE in wide_int_to_tree)

2017-04-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80494
	* tree-scalar-evolution.c (analyze_scalar_evolution_1): Bail
	out for complex types.

	* gfortran.dg/pr80494.f90: New testcase.

From-SVN: r247095
parent 6e2e575a
2017-04-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/80494
* tree-scalar-evolution.c (analyze_scalar_evolution_1): Bail
out for complex types.
2017-04-24 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.h (run_scc_vn): Adjust prototype.
* tree-ssa-sccvn.c (print_scc): Print SCC size.
(extract_and_process_scc_for_name): Never fail but drop SCC to varying.
......
2017-04-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/80494
* gfortran.dg/pr80494.f90: New testcase.
2017-04-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/79725
* gcc.dg/tree-ssa/ssa-sink-15.c: New testcase.
......
! { dg-do compile }
! { dg-options "-std=gnu -O2" }
subroutine CalcCgr(C,rmax,ordgr_max)
integer, intent(in) :: rmax,ordgr_max
double complex :: Zadj(2,2), Zadj2(2,2)
double complex, intent(out) :: C(0:rmax,0:rmax,0:rmax)
double complex, allocatable :: Cexpgr(:,:,:,:)
double complex :: Caux
integer :: rmaxB,rmaxExp,r,n0,n1,n2,k,l,i,j,m,n,nn
rmaxB = 2*rmax
rmaxExp = rmaxB
allocate(Cexpgr(0:rmaxExp/2,0:rmaxExp,0:rmaxExp,0:ordgr_max))
rloop: do r=0,rmaxExp/2
do n0=r,1,-1
do nn=r-n0,0,-1
do i=1,2
Caux = Caux - Zadj(i,l)
end do
Cexpgr(n0,0,0,0) = Caux/(2*(nn+1))
end do
end do
do n1=0,r
n2 = r-n1
if (r.le.rmax) then
C(0,n1,n2) = Cexpgr(0,n1,n2,0)
end if
end do
end do rloop
end subroutine CalcCgr
......@@ -2049,7 +2049,9 @@ analyze_scalar_evolution_1 (struct loop *loop, tree var, tree res)
basic_block bb;
struct loop *def_loop;
if (loop == NULL || TREE_CODE (type) == VECTOR_TYPE)
if (loop == NULL
|| TREE_CODE (type) == VECTOR_TYPE
|| TREE_CODE (type) == COMPLEX_TYPE)
return chrec_dont_know;
if (TREE_CODE (var) != SSA_NAME)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment