diff mbox

Fix PR61927

Message ID alpine.LSU.2.11.1411251433000.374@zhemvz.fhfr.qr
State New
Headers show

Commit Message

Richard Biener Nov. 25, 2014, 1:34 p.m. UTC
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.
diff mbox

Patch

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);