re PR middle-end/61927 (Wrong results with loop vectorization of: "var[i] = ABS_EXPR...
authorRichard Biener <rguenther@suse.de>
Tue, 25 Nov 2014 14:55:29 +0000 (14:55 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 25 Nov 2014 14:55:29 +0000 (14:55 +0000)
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

gcc/ChangeLog
gcc/tree-vect-loop.c

index a8b9f75af7fbd1e0088f9ff8f6e766189b4eda41..6c90015565a406cc7570464b22197ebe1086a49a 100644 (file)
@@ -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>
 
index a4f9501b29e079124d6ada5cd7ba8084f89422d8..802c3a3ec9430d009b4353e691025557886b3042 100644 (file)
@@ -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);