diff options
author | Richard Biener <rguenther@suse.de> | 2014-11-25 14:55:29 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-11-25 14:55:29 +0000 |
commit | e8c504f1c84cb2575b0415ef763d4d2bc9ebc09c (patch) | |
tree | f1195f91690f5867480e15096b32fe59ba31eecd /gcc | |
parent | ec529e2584bc299e48bf2e8b354f7fd9b6a900a8 (diff) | |
download | gcc-e8c504f1c84cb2575b0415ef763d4d2bc9ebc09c.zip gcc-e8c504f1c84cb2575b0415ef763d4d2bc9ebc09c.tar.gz gcc-e8c504f1c84cb2575b0415ef763d4d2bc9ebc09c.tar.bz2 |
re PR middle-end/61927 (Wrong results with loop vectorization of: "var[i] = ABS_EXPR<var2[i]> > 9.9e-7")
2014-11-25 Richard Biener <rguenther@suse.de>
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-vect-loop.c | 14 |
2 files changed, 13 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a8b9f75..6c90015 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-11-25 Richard Biener <rguenther@suse.de> + + 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 <ilya.tocar@intel.com> Jakub Jelinek <jakub@redhat.com> diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index a4f9501..802c3a3 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); |