This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix PR61927
- From: Richard Biener <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Tue, 25 Nov 2014 14:34:47 +0100 (CET)
- Subject: [PATCH] Fix PR61927
- Authentication-results: sourceware.org; auth=none
I am testing the following patch which reverts order of group
and pattern analysis to 4.8 state. It doesn't really matter but
it avoids pattern analysis to know about groups which its failure
causes the wrong-code in the PR.
Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
Help with making the testcase in the PR suitable for the testsuite
is appreciated - my Fortran fu is limited.
Richard.
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.
Index: gcc/tree-vect-loop.c
===================================================================
--- gcc/tree-vect-loop.c (revision 218019)
+++ gcc/tree-vect-loop.c (working copy)
@@ -1662,6 +1662,13 @@ vect_analyze_loop_2 (loop_vec_info loop_
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_
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);