diff options
author | Richard Guenther <rguenther@suse.de> | 2012-03-26 14:14:51 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2012-03-26 14:14:51 +0000 |
commit | ad5d161a7599cf9db900d69f78daa58b6f49b21d (patch) | |
tree | dae3f3d5cae562b83ebf1b4d874dc7713d518de4 /gcc/tree-vect-loop.c | |
parent | 5467ee5255040aee4811c10804c5efc3fdeee4d1 (diff) | |
download | gcc-ad5d161a7599cf9db900d69f78daa58b6f49b21d.zip gcc-ad5d161a7599cf9db900d69f78daa58b6f49b21d.tar.gz gcc-ad5d161a7599cf9db900d69f78daa58b6f49b21d.tar.bz2 |
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
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r-- | gcc/tree-vect-loop.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 1b4ed88..16515dc 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -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)) |