From e8c504f1c84cb2575b0415ef763d4d2bc9ebc09c Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Tue, 25 Nov 2014 14:55:29 +0000 Subject: [PATCH] re PR middle-end/61927 (Wrong results with loop vectorization of: "var[i] = ABS_EXPR > 9.9e-7") 2014-11-25 Richard Biener PR tree-optimization/61927 * tree-vect-loop.c (vect_analyze_loop_2): Revert ordering of group and pattern analysis to the one in GCC 4.8. From-SVN: r218046 --- gcc/ChangeLog | 6 ++++++ gcc/tree-vect-loop.c | 14 +++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a8b9f75af7f..6c90015565a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-11-25 Richard Biener + + PR tree-optimization/61927 + * tree-vect-loop.c (vect_analyze_loop_2): Revert ordering + of group and pattern analysis to the one in GCC 4.8. + 2014-11-25 Ilya Tocar Jakub Jelinek diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index a4f9501b29e..802c3a3ec94 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -1662,6 +1662,13 @@ vect_analyze_loop_2 (loop_vec_info loop_vinfo) return false; } + /* Classify all cross-iteration scalar data-flow cycles. + Cross-iteration cycles caused by virtual phis are analyzed separately. */ + + vect_analyze_scalar_cycles (loop_vinfo); + + vect_pattern_recog (loop_vinfo, NULL); + /* Analyze the access patterns of the data-refs in the loop (consecutive, complex, etc.). FORNOW: Only handle consecutive access pattern. */ @@ -1674,13 +1681,6 @@ vect_analyze_loop_2 (loop_vec_info loop_vinfo) return false; } - /* Classify all cross-iteration scalar data-flow cycles. - Cross-iteration cycles caused by virtual phis are analyzed separately. */ - - vect_analyze_scalar_cycles (loop_vinfo); - - vect_pattern_recog (loop_vinfo, NULL); - /* Data-flow analysis to detect stmts that do not need to be vectorized. */ ok = vect_mark_stmts_to_be_vectorized (loop_vinfo); -- 2.30.2