re PR tree-optimization/36078 (gfortran fails to build cpu2006/465.tonto)
2008-04-29 Richard Guenther <rguenther@suse.de> PR tree-optimization/36078 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Update virtual SSA form after cleaning up the CFG. * gfortran.fortran-torture/compile/pr36078.f90: New testcase. From-SVN: r134799
This commit is contained in:
parent
1447bf0556
commit
ace4eb9013
@ -1,3 +1,9 @@
|
||||
2008-04-29 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/36078
|
||||
* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely):
|
||||
Update virtual SSA form after cleaning up the CFG.
|
||||
|
||||
2008-04-29 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/15255
|
||||
|
@ -1,3 +1,8 @@
|
||||
2008-04-29 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/36078
|
||||
* gfortran.fortran-torture/compile/pr36078.f90: New testcase.
|
||||
|
||||
2008-04-29 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/15255
|
||||
|
22
gcc/testsuite/gfortran.fortran-torture/compile/pr36078.f90
Normal file
22
gcc/testsuite/gfortran.fortran-torture/compile/pr36078.f90
Normal file
@ -0,0 +1,22 @@
|
||||
subroutine foo(func,p,eval)
|
||||
real(kind=kind(1.0d0)), dimension(3,0:4,0:4,0:4) :: p
|
||||
logical(kind=kind(.true.)), dimension(5,5,5) :: eval
|
||||
interface
|
||||
subroutine func(values,pt)
|
||||
real(kind=kind(1.0d0)), dimension(:), intent(out) :: values
|
||||
real(kind=kind(1.0d0)), dimension(:,:), intent(in) :: pt
|
||||
end subroutine
|
||||
end interface
|
||||
real(kind=kind(1.0d0)), dimension(125,3) :: pt
|
||||
integer(kind=kind(1)) :: n_pt
|
||||
|
||||
n_pt = 1
|
||||
pt(1:n_pt,:) = &
|
||||
reshape( &
|
||||
pack( &
|
||||
transpose(reshape(p,(/3,125/))), &
|
||||
spread(reshape(eval,(/125/)),dim=2,ncopies=3)), &
|
||||
(/n_pt,3/))
|
||||
|
||||
end subroutine
|
||||
end
|
@ -366,7 +366,8 @@ tree_unroll_loops_completely (bool may_increase_size, bool unroll_outer)
|
||||
/* This will take care of removing completely unrolled loops
|
||||
from the loop structures so we can continue unrolling now
|
||||
innermost loops. */
|
||||
cleanup_tree_cfg ();
|
||||
if (cleanup_tree_cfg ())
|
||||
update_ssa (TODO_update_ssa_only_virtuals);
|
||||
|
||||
/* Clean up the information about numbers of iterations, since
|
||||
complete unrolling might have invalidated it. */
|
||||
|
Loading…
Reference in New Issue
Block a user