Hi,
this patch makes vectorizer to give up when likely maximal number of iterations
is low.

boostrapped/regtested x86_64-linux, will commit it once benchmark machines
pick up the earlier changes.
        * tree-vect-loop.c (vect_analyze_loop_2): Use
        likely_max_stmt_executions_int.
Index: tree-vect-loop.c
===================================================================
--- tree-vect-loop.c    (revision 236850)
+++ tree-vect-loop.c    (working copy)
@@ -1945,7 +1945,7 @@ start_over:
                     LOOP_VINFO_INT_NITERS (loop_vinfo));
 
   HOST_WIDE_INT max_niter
-    = max_stmt_executions_int (LOOP_VINFO_LOOP (loop_vinfo));
+    = likely_max_stmt_executions_int (LOOP_VINFO_LOOP (loop_vinfo));
   if ((LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo)
        && (LOOP_VINFO_INT_NITERS (loop_vinfo) < vectorization_factor))
       || (max_niter != -1

Reply via email to