re PR middle-end/52701 (416.gamess in SPEC CPU 2006 failed to build)
2012-03-26 Richard Guenther <rguenther@suse.de> PR tree-optimization/52701 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always compute and set the evolution part of PHI nodes. * gfortran.dg/pr52701.f90: New testcase. From-SVN: r185800
This commit is contained in:
parent
5467ee5255
commit
ad5d161a75
4 changed files with 39 additions and 6 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-03-26 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/52701
|
||||
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
|
||||
compute and set the evolution part of PHI nodes.
|
||||
|
||||
2012-03-26 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/52721
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2012-03-26 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/52701
|
||||
* gfortran.dg/pr52701.f90: New testcase.
|
||||
|
||||
2012-03-26 Ulrich Weigand <ulrich.weigand@linaro.org>
|
||||
|
||||
PR tree-optimization/52686
|
||||
|
|
20
gcc/testsuite/gfortran.dg/pr52701.f90
Normal file
20
gcc/testsuite/gfortran.dg/pr52701.f90
Normal file
|
@ -0,0 +1,20 @@
|
|||
! { dg-do compile }
|
||||
! { dg-options "-O3" }
|
||||
function pr52701 (x, z, e, f, g, l)
|
||||
integer a, b, c, d, e, f, g, i, j, l, pr52701
|
||||
double precision x(e), z(e*e)
|
||||
do i = l, f
|
||||
do j = l, i
|
||||
d = 0
|
||||
do a = 1, g
|
||||
c = a - g
|
||||
do b = 1, g
|
||||
d = d + 1
|
||||
c = c + g
|
||||
z(d) = z(d) / (x(i) + x(j) - x(f + a) - x(f + b))
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
pr52701 = c
|
||||
end
|
|
@ -565,11 +565,15 @@ vect_analyze_scalar_cycles_1 (loop_vec_info loop_vinfo, struct loop *loop)
|
|||
/* Analyze the evolution function. */
|
||||
access_fn = analyze_scalar_evolution (loop, def);
|
||||
if (access_fn)
|
||||
STRIP_NOPS (access_fn);
|
||||
if (access_fn && vect_print_dump_info (REPORT_DETAILS))
|
||||
{
|
||||
fprintf (vect_dump, "Access function of PHI: ");
|
||||
print_generic_expr (vect_dump, access_fn, TDF_SLIM);
|
||||
STRIP_NOPS (access_fn);
|
||||
if (vect_print_dump_info (REPORT_DETAILS))
|
||||
{
|
||||
fprintf (vect_dump, "Access function of PHI: ");
|
||||
print_generic_expr (vect_dump, access_fn, TDF_SLIM);
|
||||
}
|
||||
STMT_VINFO_LOOP_PHI_EVOLUTION_PART (stmt_vinfo)
|
||||
= evolution_part_in_loop_num (access_fn, loop->num);
|
||||
}
|
||||
|
||||
if (!access_fn
|
||||
|
@ -579,8 +583,6 @@ vect_analyze_scalar_cycles_1 (loop_vec_info loop_vinfo, struct loop *loop)
|
|||
continue;
|
||||
}
|
||||
|
||||
STMT_VINFO_LOOP_PHI_EVOLUTION_PART (stmt_vinfo)
|
||||
= evolution_part_in_loop_num (access_fn, loop->num);
|
||||
gcc_assert (STMT_VINFO_LOOP_PHI_EVOLUTION_PART (stmt_vinfo) != NULL_TREE);
|
||||
|
||||
if (vect_print_dump_info (REPORT_DETAILS))
|
||||
|
|
Loading…
Add table
Reference in a new issue