New vectorizer messages; message format change.
authorXinliang David Li <davidxl@gcc.gnu.org>
Thu, 29 Aug 2013 21:06:08 +0000 (21:06 +0000)
committerXinliang David Li <davidxl@gcc.gnu.org>
Thu, 29 Aug 2013 21:06:08 +0000 (21:06 +0000)
From-SVN: r202088

58 files changed:
gcc/ChangeLog
gcc/loop-unroll.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/vect/slp-pr50413.cc
gcc/testsuite/g++.dg/vect/slp-pr50819.cc
gcc/testsuite/g++.dg/vect/slp-pr56812.cc
gcc/testsuite/gcc.dg/tree-ssa/cunroll-1.c
gcc/testsuite/gcc.dg/tree-ssa/cunroll-2.c
gcc/testsuite/gcc.dg/tree-ssa/cunroll-3.c
gcc/testsuite/gcc.dg/tree-ssa/cunroll-4.c
gcc/testsuite/gcc.dg/tree-ssa/cunroll-5.c
gcc/testsuite/gcc.dg/tree-ssa/loop-1.c
gcc/testsuite/gcc.dg/tree-ssa/loop-23.c
gcc/testsuite/gcc.dg/unroll_1.c
gcc/testsuite/gcc.dg/unroll_2.c
gcc/testsuite/gcc.dg/unroll_3.c
gcc/testsuite/gcc.dg/unroll_4.c
gcc/testsuite/gcc.dg/vect/bb-slp-1.c
gcc/testsuite/gcc.dg/vect/bb-slp-10.c
gcc/testsuite/gcc.dg/vect/bb-slp-11.c
gcc/testsuite/gcc.dg/vect/bb-slp-13.c
gcc/testsuite/gcc.dg/vect/bb-slp-14.c
gcc/testsuite/gcc.dg/vect/bb-slp-15.c
gcc/testsuite/gcc.dg/vect/bb-slp-16.c
gcc/testsuite/gcc.dg/vect/bb-slp-17.c
gcc/testsuite/gcc.dg/vect/bb-slp-18.c
gcc/testsuite/gcc.dg/vect/bb-slp-19.c
gcc/testsuite/gcc.dg/vect/bb-slp-2.c
gcc/testsuite/gcc.dg/vect/bb-slp-20.c
gcc/testsuite/gcc.dg/vect/bb-slp-21.c
gcc/testsuite/gcc.dg/vect/bb-slp-22.c
gcc/testsuite/gcc.dg/vect/bb-slp-23.c
gcc/testsuite/gcc.dg/vect/bb-slp-24.c
gcc/testsuite/gcc.dg/vect/bb-slp-25.c
gcc/testsuite/gcc.dg/vect/bb-slp-26.c
gcc/testsuite/gcc.dg/vect/bb-slp-27.c
gcc/testsuite/gcc.dg/vect/bb-slp-28.c
gcc/testsuite/gcc.dg/vect/bb-slp-29.c
gcc/testsuite/gcc.dg/vect/bb-slp-3.c
gcc/testsuite/gcc.dg/vect/bb-slp-30.c
gcc/testsuite/gcc.dg/vect/bb-slp-31.c
gcc/testsuite/gcc.dg/vect/bb-slp-4.c
gcc/testsuite/gcc.dg/vect/bb-slp-5.c
gcc/testsuite/gcc.dg/vect/bb-slp-6.c
gcc/testsuite/gcc.dg/vect/bb-slp-7.c
gcc/testsuite/gcc.dg/vect/bb-slp-8.c
gcc/testsuite/gcc.dg/vect/bb-slp-8a.c
gcc/testsuite/gcc.dg/vect/bb-slp-8b.c
gcc/testsuite/gcc.dg/vect/bb-slp-9.c
gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c
gcc/testsuite/gcc.dg/vect/bb-slp-pattern-2.c
gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-1.c
gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-2.c
gcc/testsuite/gcc.dg/vect/no-tree-reassoc-bb-slp-12.c
gcc/tree-ssa-loop-ivcanon.c
gcc/tree-vect-data-refs.c
gcc/tree-vect-loop-manip.c
gcc/tree-vectorizer.c

index f254cd0324f4e53e812f84a5cb32afbce75a798e..c41e8edeb4c817805e1719c878907269f7187764 100644 (file)
@@ -1,3 +1,14 @@
+2013-08-29  Xinliang David Li  <davidxl@google.com>
+
+       * loop-unroll.c (report_unroll_peel): Minor message
+       change.
+       * tree-vect-loop-manip.c (vect_do_peeling_for_alignment):
+       Emit alignment peeling message with default -fopt-info.
+       (vect_loop_versioning): Emit loop version info message.
+       * tree-vectorizer.c (vectorize_loops): Minor message
+       change.
+       (execute_vect_slp): Ditto.
+
 2013-08-29  Eric Botcazou  <ebotcazou@adacore.com>
 
        * cgraphclones.c (cgraph_create_virtual_clone): Compute the DECL_NAME
index fa0260175d8ae738b934c9853578ab2cd25471fd..ad26f3da17491b563537bf59c280647600b8c05d 100644 (file)
@@ -225,7 +225,7 @@ report_unroll_peel (struct loop *loop, location_t locus)
       && !loop->lpt_decision.times)
     {
       dump_printf_loc (report_flags, locus,
-                       "Turned loop into non-loop; it never loops.\n");
+                       "loop turned into non-loop; it never loops.\n");
       return;
     }
 
@@ -236,13 +236,16 @@ report_unroll_peel (struct loop *loop, location_t locus)
   else if (loop->header->count)
     niters = expected_loop_iterations (loop);
 
-  dump_printf_loc (report_flags, locus,
-                   "%s loop %d times",
-                   (loop->lpt_decision.decision == LPT_PEEL_COMPLETELY
-                    ?  "Completely unroll"
-                    : (loop->lpt_decision.decision == LPT_PEEL_SIMPLE
-                       ? "Peel" : "Unroll")),
-                   loop->lpt_decision.times);
+  if (loop->lpt_decision.decision == LPT_PEEL_COMPLETELY)
+    dump_printf_loc (report_flags, locus,
+                     "loop with %d iterations completely unrolled",
+                    loop->lpt_decision.times + 1);
+  else
+    dump_printf_loc (report_flags, locus,
+                     "loop %s %d times",
+                     (loop->lpt_decision.decision == LPT_PEEL_SIMPLE
+                       ? "peeled" : "unrolled"),
+                     loop->lpt_decision.times);
   if (profile_info)
     dump_printf (report_flags,
                  " (header execution count %d",
index 96259ea4cd952eab82169b3e6d613ae60cfd000b..a3afbcedd029d7819db430920c7425b6775d51b2 100644 (file)
@@ -1,3 +1,57 @@
+2013-08-29  Xinliang DavidLi  <davidxl@google.com>
+       
+       * gcc.dg/unroll_3.c: Message change.
+       * gcc.dg/unroll_4.c: Likewise.
+       * gcc.dg/tree-ssa/cunroll-1.c: Likewise.
+       * gcc.dg/tree-ssa/cunroll-2.c: Likewise.
+       * gcc.dg/tree-ssa/cunroll-3.c: Likewise.
+       * gcc.dg/tree-ssa/cunroll-4.c: Likewise.
+       * gcc.dg/tree-ssa/cunroll-5.c: Likewise.
+       * gcc.dg/tree-ssa/loop-23.c: Likewise.
+       * gcc.dg/tree-ssa/loop-1.c: Likewise.
+       * gcc.dg/unroll_1.c: Likewise.
+       * gcc.dg/vect/bb-slp-31.c: Likewise.
+       * gcc.dg/vect/bb-slp-14.c: Likewise.
+       * gcc.dg/vect/bb-slp-8.c: Likewise.
+       * gcc.dg/vect/bb-slp-23.c: Likewise.
+       * gcc.dg/vect/bb-slp-15.c: Likewise.
+       * gcc.dg/vect/bb-slp-9.c: Likewise.
+       * gcc.dg/vect/bb-slp-24.c: Likewise.
+       * gcc.dg/vect/bb-slp-16.c: Likewise.
+       * gcc.dg/vect/bb-slp-25.c: Likewise.
+       * gcc.dg/vect/bb-slp-17.c: Likewise.
+       * gcc.dg/vect/bb-slp-26.c: Likewise.
+       * gcc.dg/vect/bb-slp-18.c: Likewise.
+       * gcc.dg/vect/no-tree-reassoc-bb-slp-12.c: Likewise.
+       * gcc.dg/vect/bb-slp-27.c: Likewise.
+       * gcc.dg/vect/bb-slp-19.c: Likewise.
+       * gcc.dg/vect/bb-slp-28.c: Likewise.
+       * gcc.dg/vect/bb-slp-cond-1.c: Likewise.
+       * gcc.dg/vect/bb-slp-29.c: Likewise.
+       * gcc.dg/vect/bb-slp-8a.c: Likewise.
+       * gcc.dg/vect/bb-slp-pattern-2.c: Likewise.
+       * gcc.dg/vect/bb-slp-1.c: Likewise.
+       * gcc.dg/vect/bb-slp-8b.c: Likewise.
+       * gcc.dg/vect/bb-slp-2.c: Likewise.
+       * gcc.dg/vect/bb-slp-3.c: Likewise.
+       * gcc.dg/vect/bb-slp-10.c: Likewise.
+       * gcc.dg/vect/fast-math-bb-slp-call-1.c: Likewise.
+       * gcc.dg/vect/bb-slp-4.c: Likewise.
+       * gcc.dg/vect/bb-slp-11.c: Likewise.
+       * gcc.dg/vect/fast-math-bb-slp-call-2.c: Likewise.
+       * gcc.dg/vect/bb-slp-5.c: Likewise.
+       * gcc.dg/vect/bb-slp-20.c: Likewise.
+       * gcc.dg/vect/bb-slp-6.c: Likewise.
+       * gcc.dg/vect/bb-slp-21.c: Likewise.
+       * gcc.dg/vect/bb-slp-30.c: Likewise.
+       * gcc.dg/vect/bb-slp-13.c: Likewise.
+       * gcc.dg/vect/bb-slp-7.c: Likewise.
+       * gcc.dg/vect/bb-slp-22.c: Likewise.
+       * gcc.dg/unroll_2.c: Likewise.
+       * g++.dg/vect/slp-pr50413.cc: Likewise.
+       * g++.dg/vect/slp-pr56812.cc: Likewise.
+       * g++.dg/vect/slp-pr50819.cc: Likewise.
+
 2013-08-29  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gcc.dg/tree-ssa/ipa-cp-1.c: Adjust regexp.
index c47caf107475573f248043ceac48f2209b36acce..6e69f11b382673d1e0aeb8779246e7a688181ccd 100644 (file)
@@ -160,6 +160,6 @@ void shift(unsigned char t)
   V.bitmap.b96 = t;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 0 "slp" } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 0 "slp" } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
 
index 96f82c302185e4cf4275578f917234c755180ac7..515d774a22833da11fa61f14d83c99be86fd4cb6 100644 (file)
@@ -49,5 +49,5 @@ const & v2) {
   res = res + s*(v1+v2);
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 2 "slp" } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 2 "slp" } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
index 9570fb31e866a115f5eef5b82e90fb2c04619efd..e98abc89df0262102028e60abf0b6764bb61cbb2 100644 (file)
@@ -17,5 +17,5 @@ void mydata::Set (float x)
     data[i] = x;\r
 }\r
 \r
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" } } */\r
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" } } */\r
 /* { dg-final { cleanup-tree-dump "slp" } } */\r
index 6220640459d1a6c9865ba2ff59c599c53a7bae70..0bea9a9f00bb9e51b8a1e0b09b7c37665e4a26a9 100644 (file)
@@ -8,6 +8,6 @@ test(int c)
     a[i]=5;
 }
 /* Array bounds says the loop will not roll much.  */
-/* { dg-final { scan-tree-dump "Completely unroll loop 2 times" "cunrolli"} } */
+/* { dg-final { scan-tree-dump "loop with 3 iterations completely unrolled" "cunrolli"} } */
 /* { dg-final { scan-tree-dump "Last iteration exit edge was proved true." "cunrolli"} } */
 /* { dg-final { cleanup-tree-dump "cunrolli" } } */
index 10f6645cf2527d82ce1e8316a2547fdeb824cbb8..e16d0086fab3d9a4d863cafa9183887c0bcbb369 100644 (file)
@@ -12,5 +12,5 @@ test(int c)
     }
 }
 /* We are not able to get rid of the final conditional because the loop has two exits.  */
-/* { dg-final { scan-tree-dump "Completely unroll loop 1 times" "cunroll"} } */
+/* { dg-final { scan-tree-dump "loop with 2 iterations completely unrolled" "cunroll"} } */
 /* { dg-final { cleanup-tree-dump "cunroll" } } */
index 44de9606e9ce62d52122503843a78936bd82b9a7..dd6ce506744e810abf533e1b0f49031a3eb1b341 100644 (file)
@@ -11,5 +11,5 @@ test(int c)
 }
 /* If we start duplicating headers prior curoll, this loop will have 0 iterations.  */
 
-/* { dg-final { scan-tree-dump "Completely unroll loop 1 times" "cunrolli"} } */
+/* { dg-final { scan-tree-dump "loop with 2 iterations completely unrolled" "cunrolli"} } */
 /* { dg-final { cleanup-tree-dump "cunrolli" } } */
index 9b70e95949f01fc44338965da4199763d4a588b0..86e12bbb4194cf8f5ea03ce89dc0e6b0666528b9 100644 (file)
@@ -16,6 +16,6 @@ test(int c)
 
 /* We should do this as part of cunrolli, but our cost model do not take into account early exit
    from the last iteration.  */
-/* { dg-final { scan-tree-dump "Turned loop into non-loop; it never loops." "ivcanon"} } */
+/* { dg-final { scan-tree-dump "loop turned into non-loop; it never loops." "ivcanon"} } */
 /* { dg-final { scan-tree-dump "Last iteration exit edge was proved true." "ivcanon"} } */
 /* { dg-final { cleanup-tree-dump "ivcanon" } } */
index f74e6b5093b53c6eb80e1e46cf51dab4eccdda5d..1e9b8bfbab008b50b5b55fbba9c093b86785973d 100644 (file)
@@ -8,7 +8,7 @@ test(int c)
     a[i]=5;
 }
 /* Basic testcase for complette unrolling.  */
-/* { dg-final { scan-tree-dump "Completely unroll loop 5 times" "cunroll"} } */
+/* { dg-final { scan-tree-dump "loop with 6 iterations completely unrolled" "cunroll"} } */
 /* { dg-final { scan-tree-dump "Exit condition of peeled iterations was eliminated." "cunroll"} } */
 /* { dg-final { scan-tree-dump "Last iteration exit edge was proved true." "cunroll"} } */
 /* { dg-final { cleanup-tree-dump "cunroll" } } */
index b4e4f2ac7986541b837084322b2161e57e5034ab..dd52c50faf4d9f82d83699e801848a7ba79381f4 100644 (file)
@@ -35,7 +35,7 @@ int xxx(void)
 
 /* { dg-final { scan-tree-dump-times "Added canonical iv to loop 1, 4 iterations" 1 "ivcanon"} } */
 /* { dg-final { cleanup-tree-dump "ivcanon" } } */
-/* { dg-final { scan-tree-dump-times "Completely unroll loop 4 times" 1 "cunroll"} } */
+/* { dg-final { scan-tree-dump-times "loop with 5 iterations completely unrolled" 1 "cunroll"} } */
 /* { dg-final { cleanup-tree-dump "cunroll" } } */
 /* { dg-final { scan-tree-dump-times "foo" 5 "optimized"} } */
 /* { dg-final { cleanup-tree-dump "optimized" } } */
index 4f42491dad22f13556c5cba1a838005c730f82bc..5bdc35fbd4ca6ba4e6d10fbb87bfbedd2c6184ab 100644 (file)
@@ -24,6 +24,6 @@ int foo(void)
   return sum;
 }
 
-/* { dg-final { scan-tree-dump-times "Completely unroll loop 3 times" 1 "cunroll" } } */
+/* { dg-final { scan-tree-dump-times "loop with 4 iterations completely unrolled" 1 "cunroll" } } */
 
 /* { dg-final { cleanup-tree-dump "cunroll" } } */
index 5818635cea90a7f693499c22b09b60fd1e3d4508..a02825f2b0d5b3101fa3ffc4e0639b7ede5d3972 100644 (file)
@@ -28,5 +28,5 @@ int foo2(void)
   return 1;
 }
 
-/* { dg-final { scan-rtl-dump-times "Turned loop into non-loop; it never loops" 2 "loop2_unroll" } } */
+/* { dg-final { scan-rtl-dump-times "loop turned into non-loop; it never loops" 2 "loop2_unroll" } } */
 /* { dg-final { cleanup-rtl-dump "loop2_unroll" } } */
index 1156b2cc88d566cd49d7bd9dd9dae131b37b06bc..601b38705c160bab20451f1667e1b895bb0d584a 100644 (file)
@@ -28,5 +28,5 @@ int foo2(void)
   return 1;
 }
 
-/* { dg-final { scan-rtl-dump-times "Turned loop into non-loop; it never loops" 1 "loop2_unroll" } } */
+/* { dg-final { scan-rtl-dump-times "loop turned into non-loop; it never loops" 1 "loop2_unroll" } } */
 /* { dg-final { cleanup-rtl-dump "loop2_unroll" } } */
index 13e815f18beee24e6af8f7a77c1e5a481324015d..1f4216b6068f51f8097e5272180af03865e0aa72 100644 (file)
@@ -28,5 +28,5 @@ int foo2(void)
   return 1;
 }
 
-/* { dg-final { scan-rtl-dump-times "Turned loop into non-loop; it never loops" 1 "loop2_unroll" } } */
+/* { dg-final { scan-rtl-dump-times "loop turned into non-loop; it never loops" 1 "loop2_unroll" } } */
 /* { dg-final { cleanup-rtl-dump "loop2_unroll" } } */
index 59f75edf3db710ef304c10f6a8c9cf4bb626126c..33d6edee2ccb63732b1a93d00adfa87a7e3bab47 100644 (file)
@@ -28,5 +28,5 @@ int foo2(void)
   return 1;
 }
 
-/* { dg-final { scan-rtl-dump-times "Turned loop into non-loop; it never loops" 1 "loop2_unroll" } } */
+/* { dg-final { scan-rtl-dump-times "loop turned into non-loop; it never loops" 1 "loop2_unroll" } } */
 /* { dg-final { cleanup-rtl-dump "loop2_unroll" } } */
index 11882ec5d4a3f6b6e13ad2bd405d6192da3b7c95..1caa3cf5c60f5ebaed7bf7c7597de26adaff580a 100644 (file)
@@ -56,6 +56,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 6eb8f5465f866e50c856a71f728bd5f9f952a3e3..658bf03ca566e289715195d9e11b43f3b03424f8 100644 (file)
@@ -50,6 +50,6 @@ int main (void)
 }
 
 /* { dg-final { scan-tree-dump-times "unsupported alignment in basic block." 1 "slp" { xfail vect_element_align } } } */
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target vect_element_align } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target vect_element_align } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 9844788ea0d29b60a902efd62a50cf394b012cc3..3c350a7ab224242a52334466afc51e52e2f71d0d 100644 (file)
@@ -48,6 +48,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target vect64 } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target vect64 } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index f312ea64fc16d9b948a6d550a3309862336fb356..88838cea9bc4d9b34cd82cd5a1c1a2683a701793 100644 (file)
@@ -46,6 +46,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target vect_int_mult } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target vect_int_mult } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 9a36033ca7bdd2e9f7530cfec01ab80edf818ff7..d46deadd0dc5e865b37efcd4886590e0c8647868 100644 (file)
@@ -47,6 +47,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 0 "slp"  } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 0 "slp"  } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 842699ecb0af96d2450f7a9de7eeef5e9b0b3d96..fd065e6ce3560b9d982a7489bd21deef715f2ffa 100644 (file)
@@ -51,6 +51,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target vect_int_mult } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target vect_int_mult } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 609dc7b6a3ea7da07b63a3932807bed672fb4ea2..0cbec65b773d78b8c6a0997f72ed93106030ed3e 100644 (file)
@@ -65,6 +65,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 5a917b8b3f75220904709913fa73557bf4694675..3f14ff487a598219e2ce3468d9fac82436f81fb0 100644 (file)
@@ -57,6 +57,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target vect_int_mult } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target vect_int_mult } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 98501ccf6a68caf8109a925da2518cb7aba32c46..7d73dbd8b23f3f096db0f3aad203c63ae740c2ad 100644 (file)
@@ -46,6 +46,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target vect_int_mult } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target vect_int_mult } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 2f726121c949aa9219e55ef66af39e9bee7eb173..576bbc16921632dc5629d8fa117cf33280c7b189 100644 (file)
@@ -53,6 +53,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp"  { xfail *-*-* }  } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp"  { xfail *-*-* }  } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index da228f7c33c07b849963d584fb3ba7dcfd1b26bb..accc472f79114a987de017d6532e69b286ec357f 100644 (file)
@@ -53,6 +53,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index caaecb9bafb67ec515f8817d5be4f7940c150a95..a7978a70d7ab7d2996dd753912a88e9feed8caaa 100644 (file)
@@ -63,7 +63,7 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target vect_int_mult } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target vect_int_mult } } } */
 /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "slp" { target vect_int_mult } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index eba9d08c95121743b40c0492a6ace69c02f7e6d5..8ad71454afe606190d8836b4a6da19ec7e2bcc3c 100644 (file)
@@ -63,7 +63,7 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp"  } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp"  } } */
 /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "slp" { target { ! {vect_int_mult } } } } } */
 /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "slp" { target vect_int_mult } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
index 30bc57a6bbb53cee77679939d20a8fc02c0ec990..e425dc9ade13297883f5599beaa73512e8527da6 100644 (file)
@@ -63,7 +63,7 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp"  { target { ! {vect_int_mult } } } } } */
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 2 "slp"  { target vect_int_mult  } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp"  { target { ! {vect_int_mult } } } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 2 "slp"  { target vect_int_mult  } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index a736c385c81d319173e8081333a2b81393aa7eac..35f5186fd742966c800d9dfb490ed872a5f70b44 100644 (file)
@@ -51,6 +51,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target vect_int_mult } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target vect_int_mult } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 10d8e406647203fc3bcb79d5b1df67714bc15293..d0c1d69d1faa12b0920b4653cac64692495a06a5 100644 (file)
@@ -54,6 +54,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target vect_element_align } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target vect_element_align } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
 
index b92535df00c628650d94c1ea92f3550000f5e02b..737b3b06c04ba3855bcaf72d2db1bdec8483cb86 100644 (file)
@@ -54,6 +54,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target vect_element_align } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target vect_element_align } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
 
index f40c12402b61c06df508aa258b6a1eeb194d0a09..881f3204f4032c3f07091d00063a61541892828f 100644 (file)
@@ -55,6 +55,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target vect64 } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target vect64 } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
 
index e9b386f4921d2af5f4b3771d0d58ec5a8f41ba6c..7fcc1e6104183ff3c8c348bee42f569b466aafc8 100644 (file)
@@ -44,6 +44,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target { vect_int_mult && { vect_unpack && vect_pack_trunc } } } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target { vect_int_mult && { vect_unpack && vect_pack_trunc } } } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
 
index 3dc1a0d8a7cda8e550ec28beeb376beddaba1ab4..650c50eb9381bc54ba16e035b6779db79a73df42 100644 (file)
@@ -66,6 +66,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target { vect_int_mult &&  { vect_pack_trunc && vect_unpack } } } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target { vect_int_mult &&  { vect_pack_trunc && vect_unpack } } } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
 
index c2bc391885d534006fc450069bea43df7b5407e4..c5b31343a441f3a4e9f694e4a12f3a8e22137a5b 100644 (file)
@@ -54,6 +54,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp"  { target { vect_int_mult &&  vect_element_align } } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp"  { target { vect_int_mult &&  vect_element_align } } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
 
index 98cbc5b80ea11e48db7e3e0744dfa264be6be0e3..093389faf9fea1028ddd6bb4df7ff1db9b6b5734 100644 (file)
@@ -42,6 +42,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index a587780364fa3440994b35cb1217fb6803bd9bcf..86da55a47cc8b2534db19f550e6e2e2939fb685f 100644 (file)
@@ -43,5 +43,5 @@ test1(void)
 
 int main() { test1(); return a[21]; }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
index e2704dc721fe648f22381e6b98eda58c9ed3920d..bbddb0ac28c0e06a7f40907da9d36c809eb93fbe 100644 (file)
@@ -9,4 +9,4 @@ void f(){
   a[1]=1+2*a[1]*a[1];
 }
 
-/* { dg-final { scan-tree-dump "Vectorized basic-block" "slp" } } */
+/* { dg-final { scan-tree-dump "basic block vectorized" "slp" } } */
index 5b983c7e63efb87e636726c908d7952d0d6f047d..2c4b62dc4aceb9c9b1d251e52c072d806c7dc08a 100644 (file)
@@ -38,6 +38,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 0 "slp" } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 0 "slp" } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index cd1679e981d313799629a43d059613582f68548f..ca093e795fcb34c39f5bc59ad74f374c34b6732a 100644 (file)
@@ -47,6 +47,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 39d8c04cc9ac819c7434b7272be89009750c516f..c233a9d5010481462fb8877a2d161231534290e2 100644 (file)
@@ -45,6 +45,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target vect_int_mult } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target vect_int_mult } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index c0ca017d0d84e82abe6007e554d68ae38bb1f7e7..b7b90f0b95bb023ce026b0ae1caa98036810f3a7 100644 (file)
@@ -46,6 +46,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 0 "slp" } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 0 "slp" } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 1cb3ddd65e61a8ddac91d3d2c4f3354bd750dfd4..303fe3e4336ff94eb6c67f9e2559a5efa277988b 100644 (file)
@@ -48,6 +48,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp"  { target vect_hw_misalign } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp"  { target vect_hw_misalign } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 9db6747985eac1aa9be23a59532cd815b6a2c106..55a6a81d38c2481b447be978ab2c0cd71d8ec3ad 100644 (file)
@@ -47,6 +47,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 0 "slp" } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 0 "slp" } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index dc6353999f366334629f5fc0caa489eea3c6e19f..8c5c5ab9182304018e80763387232da13c668b8d 100644 (file)
@@ -49,6 +49,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp"  { target vect_hw_misalign } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp"  { target vect_hw_misalign } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 3b950897249ba5223aee7610b7af468b6f089b7d..9f1a5877a29df4e84312e2ab2821d31087493870 100644 (file)
@@ -46,6 +46,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp"  { xfail  vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp"  { xfail  vect_no_align } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 38c18a71fc7694d7a0e1f08090e40f7f4c048c42..86376b4464147fd8acd9ac75ddac0b2b570ef928 100644 (file)
@@ -41,6 +41,6 @@ int main ()
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target vect_element_align } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target vect_element_align } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
 
index 0d4d54fe0c2ad3360af4498248fc9fbb35f55543..545c08d86e9f2a0dbcf425dd28752fae53b40962 100644 (file)
@@ -48,5 +48,5 @@ int main ()
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target { vect_element_align && vect_pack_trunc } } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target { vect_element_align && vect_pack_trunc } } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
index d842658c679d59b06a1b8946d76f1a6ce568ae53..c138a78b3281a7dac616fa13d3d4a5919a80d636 100644 (file)
@@ -45,5 +45,5 @@ main ()
   return main1 ();
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target { vect_call_copysignf && vect_call_sqrtf } } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target { vect_call_copysignf && vect_call_sqrtf } } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
index d6fb6a2b6f9a46b7fe3a36b8633f9db7a5e3f9e0..c126c1c0085d682c492efb94034a671167d1c8d7 100644 (file)
@@ -63,5 +63,5 @@ main ()
   return main1 ();
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 2 "slp" { target vect_call_lrint } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 2 "slp" { target vect_call_lrint } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
index b4154835a1151a677377966c6b521819afce2998..49274f88f5731935fbe4324b1a1a2e94ea3dc622 100644 (file)
@@ -47,6 +47,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "Vectorized basic-block" 1 "slp" { target vect_int_mult } } } */
+/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp" { target vect_int_mult } } } */
 /* { dg-final { cleanup-tree-dump "slp" } } */
   
index 64abb0d059cb4edc19520f2040d0102b4c2706fe..f2acc4c15f1c949db53b53b2caeb02da1eda30e4 100644 (file)
@@ -870,11 +870,12 @@ try_unroll_loop_completely (struct loop *loop,
     {
       if (!n_unroll)
         dump_printf_loc (MSG_OPTIMIZED_LOCATIONS | TDF_DETAILS, locus,
-                         "Turned loop into non-loop; it never loops.\n");
+                         "loop turned into non-loop; it never loops\n");
       else
         {
           dump_printf_loc (MSG_OPTIMIZED_LOCATIONS | TDF_DETAILS, locus,
-                           "Completely unroll loop %d times", (int)n_unroll);
+                           "loop with %d iterations completely unrolled",
+                          (int) (n_unroll + 1));
           if (profile_info)
             dump_printf (MSG_OPTIMIZED_LOCATIONS | TDF_DETAILS,
                          " (header execution count %d)",
index 3f375109df73112720430690cf5e8d9c6b952f09..4c12f49391617bb4d1be2751400c16674fe3b860 100644 (file)
@@ -37,7 +37,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-scalar-evolution.h"
 #include "tree-vectorizer.h"
 #include "diagnostic-core.h"
-
 /* Need to include rtl.h, expr.h, etc. for optabs.  */
 #include "expr.h"
 #include "optabs.h"
index 12f70ee002a6da090b28c9bd3a2aed26835ee544..2bebdeab34c909b667c1b1b591c80eb64d2e998e 100644 (file)
@@ -2021,8 +2021,9 @@ vect_do_peeling_for_alignment (loop_vec_info loop_vinfo,
   int bound = 0;
 
   if (dump_enabled_p ())
-    dump_printf_loc (MSG_NOTE, vect_location,
-                     "=== vect_do_peeling_for_alignment ===");
+    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
+                     "loop peeled for vectorization to enhance"
+                     " alignment\n");
 
   initialize_original_copy_tables ();
 
@@ -2404,6 +2405,8 @@ vect_loop_versioning (loop_vec_info loop_vinfo,
   unsigned prob = 4 * REG_BR_PROB_BASE / 5;
   gimple_seq gimplify_stmt_list = NULL;
   tree scalar_loop_iters = LOOP_VINFO_NITERS (loop_vinfo);
+  bool version_align = LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT (loop_vinfo);
+  bool version_alias = LOOP_REQUIRES_VERSIONING_FOR_ALIAS (loop_vinfo);
 
   if (check_profitability)
     {
@@ -2413,11 +2416,11 @@ vect_loop_versioning (loop_vec_info loop_vinfo,
                                          is_gimple_condexpr, NULL_TREE);
     }
 
-  if (LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT (loop_vinfo))
+  if (version_align)
     vect_create_cond_for_align_checks (loop_vinfo, &cond_expr,
                                       &cond_expr_stmt_list);
 
-  if (LOOP_REQUIRES_VERSIONING_FOR_ALIAS (loop_vinfo))
+  if (version_alias)
     vect_create_cond_for_alias_checks (loop_vinfo, &cond_expr);
 
   cond_expr = force_gimple_operand_1 (cond_expr, &gimplify_stmt_list,
@@ -2427,6 +2430,20 @@ vect_loop_versioning (loop_vec_info loop_vinfo,
   initialize_original_copy_tables ();
   loop_version (loop, cond_expr, &condition_bb,
                prob, prob, REG_BR_PROB_BASE - prob, true);
+
+  if (LOCATION_LOCUS (vect_location) != UNKNOWN_LOC
+      && dump_enabled_p ())
+    {
+      if (version_alias)
+        dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
+                         "loop versioned for vectorization because of "
+                        "possible aliasing\n");
+      if (version_align)
+        dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
+                         "loop versioned for vectorization to enhance "
+                        "alignment\n");
+
+    }
   free_original_copy_tables();
 
   /* Loop versioning violates an assumption we try to maintain during
index 5501479e7f9ab64233b666fbdee18491097491fd..9db94b16673442343ac142afc1757992fe8d70fc 100644 (file)
@@ -334,7 +334,7 @@ vectorize_loops (void)
         if (LOCATION_LOCUS (vect_location) != UNKNOWN_LOC
            && dump_enabled_p ())
           dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
-                           "Vectorized loop\n");
+                           "loop vectorized\n");
        vect_transform_loop (loop_vinfo);
        num_vectorized_loops++;
        /* Now that the loop has been vectorized, allow it to be unrolled
@@ -443,7 +443,7 @@ execute_vect_slp (void)
           vect_slp_transform_bb (bb);
           if (dump_enabled_p ())
             dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
-                            "Vectorized basic-block\n");
+                            "basic block vectorized\n");
         }
     }